Players just need to be unable to change their own team when bIsCompetitive is true. The same goes with name changing, which also messes teams up for non-steam users.
As I've mentioned, the automatic team retention works correctly. The only other "flaw" is if not all players have loaded in, which is rare.