There are no restrictions to what methods can be called inside the preRemove event, except when the remove method itself was called during a flush operation.
Changes to associations of the updated entity are never allowed in this event, since Doctrine cannot guarantee to correctly handle referential integrity at this point of the flush operation.