Is this an engine bug?

OnPostLogin is called before the pawn gets spawned. Looking at you script it might be better to listen to OnPossess of the player controller.