Could it be that when detached, the item is colliding with the character, and the engine resolves the collision by putting the item in the last known valid location ?
it may be far fetched but I’m grasping at straws here lol
Edit :
When i set simulate physics to false on the item, it stays where it should be when detaching.