If you change context by changing layouts, your relationship based value list no longer matches to any values to use for your value list. You would need a different relationship that works from the context of that layout and you'd need to use it as the basis for your conditional value list. This is a commonly encountered limitation of basic conditional value lists. It is not your only option.
And the relationship between Team and J_Game_Team is not one that I would expect to match to any records unless your game is the very unique case of a team playing itself and thus being both the home and visiting team.
That explains why it won't work but is there any way to make this work? Or is there a better way to set this up?
The only way I can make this work using my above, albeit not great, solution is after first putting in Teams with Divisions I can then have two more fields in the Team table; one called HomeTeam, the other VisitorTeam and by using 'only include related values' of Division, it seems to work. I can then transfer the info to the Game table.
However this adds more and more records to the Team table and if I ever have to change or add teams or their divisions this doesn't seem a very good way of doing things.
The first thing that I would fix is the use of your join table to manage relationships to visiting and home teams.
Since every Game will have two teams, your Games table and your Join Table can be on and the same table. It can link to two different occurrences of Teams like this:
Teams|Visiting::__pk_TeamID = Games::_fkVisitingTeamID
Teams|Home::__pk_TeamID = Games::_fkHomeTeamID
Keep in mind that Teams|Visiting and Teams|Home have one and the same data source table.
Your overall occurrences and relationships, squished into a single line, might look like this:
Disvision|Visiting and Division|Home would also be occurrences of the same Division table. You'd use two so that you can get any useful Division data about both teams from the context of a record on a layout based on Games.