My experience has been the same
I will qualify by saying nothing is true 100% of the time. I have worked with very competent folks here on H1b visas. And I have worked with citizens who are recent college graduates that couldn't pass the basic HW/SW A+ certification. That said...
I can give you the names of 6 college graduates from the last 3 years (relatives & children of friends) with IT degrees that were very competent, just lacking experience. Searching for months, applying everywhere, no offers. Forced to take a non-tech job to pay the bills.
In the same time period I have worked with 3 times that many H1b workers who don't have an effing clue. You are literally teaching them Computers 101 concepts in trying to work with them. I know they graduated from some sort of technical training in their home country to qualify for the job but there is no way they have the same level of education as a 4 year degree from most American universities. And I have seen the legally required postings showing that a job is being granted to a H1b visa with the requisite language showing the salary and stating it is customary for the title and area -- even though it is 70% or less what the job would normally pay.
I have absolutely no objection to a qualified foreign worker coming to the U.S. to do a job. In fact let all the migrants come across our southern border and do jobs for minimum wage that no American is willing to do for that pay. No worries. But stop lying to us and saying you need to bring in skilled people to do IT jobs because not enough Americans have the skills required. If you really need these people so badly then don't saddle them with the "slave" conditions of H1b -- let them come over and do whatever job they want, no restrictions or company lock-in. That should quickly get their wages up to a proper level and put an end to this nonsense.