And that it seems absurd for places like Facebook to say that when they reject so many applications from talented developers.
It isn't absurd at all. Facebook is one of the companies doing this the right way. Facebook interviews H1-B candidates in exactly the same way it interviews American citizens, and they pay the same to H1-Bs and American citizens in the same role. When they reject an American candidate, it's because they don't think that candidate is sufficiently skilled, not because they want to hire a foreigner with the same skills for cheaper.