2. Those companies that hired 1 million skilled workers could have hired 1 million Americans, giving them much better jobs than they otherwise would get. What's the good argument for giving them to non-Americans instead?
Of course America is a land of immigrants. And of course immigration can be positive-sum.
That doesn't prove that it's always positive-sum.
It's easy to see many situations that are not positive sum. Huge amounts of unskilled immigration is, at least in the short-term, going to be extremely zero-sum because they will consume far more public resources than they pay for, depriving the existing users. This has played out many times.
In other words:
Too much skilled immigration takes good middle class jobs away from citizens that need them.
Too much unskilled immigration takes public resources and jobs away from citizens that need them.
Given those facts, the argument should be about how much is too much of any particular kind of immigration for any particular time and place.