Say what you will about this administration, God knows they have flaws. However, they're the only one that has taken steps to actually attempt to help American workers in a generation or more. Every other one has been a revolving door of shipping jobs out or importing cheap foreign labor in.
I'm sure they are spending majority of their income locally, the same way as American citizens: buying chinese goods and mexican food.
Us government is losing tons of taxes if H1B immigrant is replaced with overseas worker.
This is rather evidence that this requirement (at least sometimes) does what it should do: it disincentivizes US branches of companies to hire foreigners in the USA by making such hires more expensive.
Thus, instead foreign branches of US companies hire foreigners. Why the complaints: now in the USA less foreigners get hired instead of US citizens, exactly what was requested.