Sounds like over-rationalization to me. Tech jobs don’t need to be done in the US for obscene amounts of money, yet they are.
In theory, yep. In practice, lots of software work is basically an exercise in interpersonal collaboration logistics for which physical colocation is still the most common approach. I've long been hopeful that we'd break out of that model and achieve the geographic redistribution that the parent commenter is hopeful for, but that it hasn't happened yet makes me think there is something more to it than it seems.
Yes, there are still plenty of programming jobs in the US, in large part because a key part of the job is translating human requirements into code. That means that knowing the language and culture are valuable assets. Also, English is the lingua franca of software, which helps.
What this means is that in the past, there used to be forces that encouraged jobs to be somewhat evenly spread across the country. Most medium-sized cities had a number of factories, small towns were surrounded by farms, etc.
Now the only jobs are jobs that involve working with or for other people, so you see a rapid concentration in a smaller number of large metro areas.
Unfortunately, cities cannot physically adapt as quickly as the economy has changed. The rapid change in housing prices — upwards in metro areas and downwards elsewhere — is basically a measure of how much the physical infrastructure is out of sync with today's needs.
Personally, I hope we figure out a way reinvigorate and distribute jobs across medium-sized cities. It's very difficult for the poor any elderly to uproot, and the US has tons of space, so I think it's better for everyone if the jobs come to them instead of forcing them to come to the jobs.