That's all true to a significant degree. Of course, the reverse expectation was that you'd be a "company man" and spend your career (or at least a decade or two) at the company.
Which many people would be happy to do. Employers are the ones that made the first moves on breaking loyalty, not employees. The bulk of employees are not looking to make moves if they feel they are being treated fairly and compensated well.
Well, a lot of traditional unionized blue collar union jobs went overseas. So the employers didn't have a lot of control over that.
A lot of jobs also shifted to smaller companies in areas like tech and employees wanted to take advantage of higher salaries being offered by those firms.
I'm not sure it's a simple case of employers suddenly locking employees in. There were a lot of market forces that made staying at the same single employee forever less attractive from a salary perspective. Sort of a re-enforcing cycle. I'm sure economists have more data.
I'm happy to send years at a company, if there's a point to doing so. But the only means to advancing one's career, from what I have seen, is changing jobs.
The flip side of the coin is that it's frustrating as a dev: nobody knows anything, when the entire employee base flips so often. Middle managers just don't get it, AFAICT.