At good American PhD programs in the STEM fields, are there not enough American applicants, or are the international applicants simply better?
I don't know the specifics of the US, but I can give you my 2 cents about what's going on in European countries under a similar situation, which I think might probably apply.

It's not about people being better or worse, but about several factors:


Education/Attitude. In many "rich countries", the educational system has changed to a point where the knowledge about STEM subjects in primary/secondary education has become weaker, less demanding, often collaborative, and sometimes even "subjective". Parents are complaining about excessive homework, taking kids to alternative schools so they can play and spend more time with other kids and learn at their own pace, etc... Other things are valued more. You can see that the level of mathematics, physics, etc... has really declined from 50 years ago to now. My parents laughed at the STEM subjects/problems our generation studied at a certain age, and I laugh about what the current generation studies now. In the countries you mention (China, India, Russia), the rationale and culture are absolutely the opposite (as they were in "rich countries" 50 years ago): an emphasis is put in learning by the book, no matter if you like it or not, and individual ultra-high effort, because this is the path to get a better life, possible in another country, even if it's in detriment of having a healthy childhood, friendships, free time, or a proper socialization.
Expectations/Knowledge. Because of the great life they had and what they often see on the Internet, TV, etc... young people expect that life is a low-effort/high-reward business. They have been sold that anyone can be anything, and it's a matter of just "wanting it very much" (or paying very much/knowing someone to get into the club of good jobs). The aim is to become a manager or earn a lot of money. Certainly, no sane person would consider a PhD/research career as a path to achieve that and the other ones you mention make much more sense (law, business...). When I studied Computer Science 20 years ago, you needed nearly an 8 out of 10 in your SAT to get in because of the high demand (same in other engineering studies). Nowadays, there are free spots, so everyone gets in. This has happened in many technical universities because students are moving to other areas of knowledge.
Market. Here comes the market. You have two groups: (a) the local candidates, who were born having had everything, barely confronting any difficulty in their lives, and within that educational culture and expectations described above, (b) candidates from China, India, Russia, who often have had a tough life they would like to improve, with a different educational background and culture that values effort, willing to work extremely hard for a better life. STEM subjects are, in general tough and objective. A theorem, a piece of software, or an engine, simply have to work. The market prefers people from the (b) group.