OnPostLogin spawn issue

That happens cause you Player spawns with only his PlayerController, sitting at 0,0,0. Camera at this point is set to the Manager which is probably also sitting at the PlayerController position.
Then your Server spawns the Client’s pawn and posses it, which takes a few milliseconds to replicate down to the client.

If think you can really only stop that by adding UI on the client. OnPostLogin is still server side, so that’s too late. Try BeginPlay of the PlayerController.