+1
I think there are ways of achieving this without modifying the placement of the carried player. Instead, the server could check whether the player is looking at an interactable block, be it a chest, door, or trapdoor, and then simulate an interaction event. There may be more efficient...