Mexico plays almost all their Friendlies in the US because they can get bigger crowds and charge more. The US basically funds the Mexican and US Soccer Federations.
I think they play alot at home because teams want to come to the US. Occasionally they will play in Europe which is better for the European based players. My guess is its hard to schedule European Teams because of their Nations Leagues. I think the Logistics for the teams that the US can play make it hard to play away.
I dont see a way the US can go to Oman with MLS and Premier players in season