The term 'co-hosts' has been loosely interpreted, hasn't it. Mexico and Canada have gotten a raw deal indeed. Especially when Mexico is more of a football loving country than the USA. At least there aren't any games in Washington DC. We don't want all those foreigners scaring Trump and his slobbering cronies.
Yes, Mexico and Canada have the short end of the stick, but that is because they do not have as much of a capacity as the USA. Mexico has a couple of very large stadiums like the Azteca and the Olimpico, but they are not quite advanced enough to host later matches. The same with Canada. And of course everything also has to do with money.