The game world, on receiving BeginPlay, takes all it’s levels and broadcasts BeginPlay to all its actors at same time.
If you need a Controller actor to wait for the GameMode, you can simply attach a Delay(0.1) node as first node from Controller’s BeginPlay; then GameMode’s BeginPlay will happen before Controller’s.