I would also add that it's wrong to assume that just because an immigrant was hired for a highly skilled job that automatically means there is a native somewhere with an equivalent skillset and able to do the job as well. It boggles the mind how some people assume that somehow every single top expert in the field happens to live in the same city/state/country where a job opening is published.
The labor market is not national or local for a multinational company. Hence, as I wrote, if people are being underpaid in some countries, it is in a multinational's interest to keep them in those countries to exploit, and not let them immigrate to where they could make more money.
Average wages for immigrants is lower than the non-immigrant average in almost all societies.
Because we are in high-tech, we think about 'Google' bringing in great talent, which is good ...
But for most, it's not remotely that.
In Canada, in the Oil Sands, they push for migration and the term they use is 'high labour input cost'. Literally high wages.
So yes, in the long term migration can be good depending on a nations actual need and ability to make use of people, but it's about wages and Supply and Demand there.
It's a similar story everywhere. I don't think anyone, even hardcore nationalists are pushing to get rid of bringing in talented people, the numbers are small. And the issue with H1B for example is not so much the nature of it, but that it was kind of being abused by Infosys etc. in the eyes of some.
"Given that wages in India and other places are clearly artificially depressed, or people wouldn't want to come to the US"
No, this is not any kind of 'artificial depression'. India has a fundamentally different economy than the US. Those differences are not artificial.
Given that wages in India and other places are clearly artificially depressed, or people wouldn't want to come to the US, I don't think it's obvious that the multinationals do want open borders. I think it's in the interest of workers though.