I am not sure what is the exact issue, as you Haven’t described it in details. But there is a good tutorial I followed for my game, and it works fine. Sweap through the videos until you find how they handle respawn.
How it works, is that pawn keeps reference to the PlayerController. Then when Pawn is destroyed, it tells PlayerController that it’s being destroyed and then PlayerController respawns and reposseses it. This is how I do it in my game when car is flipped and have to be respawned. Works in SplitScreen and with Online Multiplayer.