One way would be to separate your lamp into two parts/tiles. The lower part with the collision stays on the background layer, which is drawn behind the player sprite, while the upper part wanders into a foreground layer, which will be drawn above the player.
Then it should be just a matter of scaling them correctly in relation to your player sprites. F.E. your lamp is two tiles high, then your player should also be two tiles high. With that you could apply collision only to the lower player body part (f.e from hips to feet), while the upper body part gets no collision, and would be allowed to be drawn on top of all things on the background layer and covering them, because it does not collide with them. It would be important to make sure, that the lower part of your lamp (that has the collision) is as big/high as the whole upper body part of your player (that part, that has no collision), to ensure, that the players head cannot reach into the area of the upper lamp region (that is in the foreground layer), if the player stands below the lamp.
The feet/lower body would collide with the lower part/lower tile of your lamp (or everything with collision), but the head would be drawn on top of it, cuz no collision.
As soon as your player goes “above” the lower lamp part, it gets covered by the upper lamp part, that is placed in the foreground layer. And since both just have collisions for their feet, it should also prevent wrong drawing orders, since your players lower body part cannot be in the same place as your lower lamp part with it´s collision box.