The root of the problem is the expansion of liberal arts and social science programs promoted by the left in last 30+ years that crowded out STEM enrollment of American students.
I remember I read a report around 2006 (or maybe 2007) which says since 1980s American college enrollment greatly increased ( I forgot the number). But when looking at details of this increase from this report, stem enrollment increase is almost completely contributed by foreign students. U.S. born stem enrollment basically stayed flat from 1980s to 2006. So, the huge college enrollment increase actually came from enrollment of liberal arts and social sciences which were basically contributed by U.S. born students.
I know stem enrollment of U.S. born students improved in recent years. But it is not enough to meet the need of business of technology and industry in US.
So, both Musk and his opponents are right on this issue. Before we make stem in US great again, Musk is right. We need more stem H1B (only stem). After we make stem great again, we can scale h1b back to 1990s level.