There is no shortage in skilled labor in the US. These companies just don’t want to invest in Americans. When you’re on a visa your status in the country is tied to your job. Employers can demand from immigrants what they cannot demand from citizens.
I also find it dangerous to rely on foreign talent. Looking at the situation between Canada and India should show you why. If we have a fallout with another country then their citizens will be caught in the middle. This was apparent with the rise in crimes against Asians due to the virus and more surveillance due to concerns on spying.