PlayerRespawnEvent is called before player even respawn. Technically he is dead while you try to teleport him, perhaps set respawn position in event. Code: PlayerRespawnEvent::setRespawnPosition(Position $position)
Everything working fine! Next time I'll have to try for myself instead of trusting outdated information. Thanks @Primus!