Calling Client RPC in order to assign a Team value to clients. How to check the Role properly?

I would probably just use the GameMode class to Assign teams. GameMode only exist on the Host/Server so no danger of calling it on the Clients by mistake.

I would make a OnRep Variable on the PlayerState for the Team.

At the end of GameModeBase::PostLogin I would set the Team using the PlayerController reference and Controller::GetPlayerState for getting the associated PlayerState and then set the Team variable.