You can save money by outsourcing, but if you try to minimize expenses at all costs it shows in quality.
Having teams all over the world is a very different cost and business model from outsourcing.
With overseas teams they tend to either be salary matched to market and the quality not so great or good wage even by US (but maybe not SV) standards but getting the very best people.
Outsourcing is much more of a mess because markup is ~3x.
60k$/year easily gets you top talent in places like eastern Europe and Asia - that's like entry level for the US, when you equate for skills I would guess it's almost always a 2x difference even in low cost US places.
The biggest thing about US was that it offers highest wages and it's a center for tech globally so it's really easy to attract skilled immigrants and so top people often emigrate - if you crack down on that well you suddenly made outsourcing better both because cost and the top talent availability.
Compared to that moving software development to another country is much simpler. It is difficult to get it right, but it is simpler to move things like specifications and code than containers of raw materials and goods.
It is actually the other way around regarding manufacturing and software development.
Software development is high-growth, quickly changing, highly skilled, high levels of communication, transferable, low capital, and doesn't scale well.
Manufacturing for the most part is steady demand, slow rates of change, low-moderate skill, low communication, not very transferable, high capital and scales really well.
This leads to software dev being very difficult to outsource without being out-competed.
I have been part of many outsourcing projects over the last 15 years, and I can count on one hand the number of those that have been acceptable.
Outsourcing requires a completely different style of management than of a local team of developers. I have had better luck outsourcing art and animation tasks. But even there cultural barriers pop up all the time.