That's the expected behavior.
Regarding the stateless bean, from the ejb 3.1 spec (Sec. 3.4.7.1):
All business object references of the same interface type for the same stateless session bean have the same object identity...
and for the stateful bean, from the ejb 3.1 spec (Sec. 3.4.7.2):
Stateful session bean references ... to different session bean instances will not have the same identity.
It makes sense, if you stick to the contract, you are guaranteed that invoking a business method on any of two instances of a stateless bean, will have the exact same effects, with a stateful bean that is not necessarily true.