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.