GetPawn() returns NULL

You should give the server some time before you check if its null because you’re sending a request to the server using the SpawnAndPossessPlayerEye and immediately checking if its null, it might take some time before your client gets updated about the pawn being possessed.
The next step would be to handle the OnPossess event that triggers in the controller when a pawn is possessed.