I've been on both sides of the employment fence and one big mental block for employers is having to go through all the legal paperwork to hire someone on a visa. As far as employment is concerned there is zero difference between a US citizen and a permanent resident so I am not persuaded that is the reason (unless it's a defense company and security clearances are a hassle for non-citizens). I can't really speak to the 'foregin' company experience though - however that's orthogonal to visa status.