Not what the law says.
Employers are prohibited from discriminating against non-citizens, but are not required to hire them. They can choose to hire a citizen for any reason other than the fact that he IS a citizen.
Also, it's a pretty idiotic employer who can't come up with a legally acceptable reason for hiring applicant A rather than applicant B. There's no requirement he write down the REAL reason for the decision, which may very well be that the applicant rejected is black, or female, or a non-citizen.
You’re talking about employer’s who would prefer to hire citizens... that it would be easy for them to find a justifiable reason to hire the citizen.
I think what is happening more often is the exact opposite, especially in the IT field, where employers are going overboard in hiring non-citizens and excluding citizens.