With over 30 years experience as a software engineer and engineering architect in a field requiring mission critical software ( financial systems ), I respectfully disagree on this point.
With lower wage programmers in the US, you will get inexperienced or lower quality individuals. With outsourcing, the turnover rates are huge and this multiplies the potential for quality problems with new personnel coming into the middle of projects. With quality, well-paid, self-motivated software developers, the bug rate is much, much lower, and people with pride in their work will not allow untested, minimally tested, or questionable code to even reach QA without effectively testing it thoroughly themselves. QA is the backstop (double-check, insurance policy, etc) not the primary method for avoiding quality problems.
QA is important, and you should pay those people well for sure, and a great QA resource is worth high dollars. But with great well paid developers, you won't be betting the company on QA resources, they will just add to the quality. You will also minimize developer turnover and allow people to build specialized domain knowledge which helps eliminate a lot of potential problems and improves efficiency for future projects.
There is a dangerous myth surrounding QA these days in that you can catch all bugs with automated testing, CICD pipelines, TDD, etc. It's simply not true, especially in the mission critical systems which have real world scenarios that are not able to be replicated in a build test. Problems involving multi-threading, race conditions, error handling ( especially compound errors ), surviving component failure, database deadlocks and such are very difficult to detect using systematic QA testing. Sometimes the error frequency is very low for certain scenarios, but people could die if it happens. It's also human nature to quit caring about certain types of errors if the frequency of it is low enough that it won't happen within a number of years, particularly when the coding cost to prevent it is high.
Many of the current crop of developers coming out of college have no idea about hardware architecture, do not understand system level machine behaviors, and are basically just coding up stuff by grabbing a bunch of open source software and slapping it together like tinker toys. There are some good ones out there, but if you have a specialized situation involving mission critical systems such as medical, flight systems, banking systems, nuclear systems, power systems, self-driving cars, etc. I would not recommend applying commodity programming resources there. Someone can and will die, and you don't want to be the victim of stupid corporate idiots trying to maximize their executive bonuses all in the name of being cheap and hiring the cheapest developers they can find.