As a pilot for a regional airline I can tell you some thing. it is hard to find a flying job with a different carrier(national/major) if you are not a citizen. officially they are not allowed to discriminate against foriegners , but......
If I get replays that I'm not qualified enough/competitive with all my credentials, type -rating in a jet, 5000 + hrs. no DUI, 4 yr. college , and colleagues with much less time and qualifications, get hired, there is something wrong. It also happend to other pilots with the same company and all are not citizens..... do I see a pattern?
there are various reasons why foreigners are in the states, some are voluntarily here , others are not, but have to make the best out of it.
And yes, every American can go to an other country, work on all credentials and get hired, if there is a demand for pilots, like it was here 5 years ago. but since 90 % of Americans think this is the best country in the world, why do they even want to leave.