You said that you can’t teach students to be researchers without sending them to formal classes. You said that you “teach students how to think”. The inverse implies that those who do not attend formal university class cannot learn to do research, and those who do not work as a grad student never learn to think.
I, and a lot of my employees, have absolutely learned all of the things you list by some combination of undergrad work and on the job experience. Persistence and “Discerning what is fruitful vs a dead end” is a huge part of what we do! Perhaps on some shorter time scales (though many projects are on longer scales than a PhD program).
Now, are we experts at doing basic scientific research and publishing it in academic journals? No, but that’s effectively a tautology. If our customers wanted more basic science and less systems integration of mature tech, my people are certainly capable of learning it. They know how to think! On the flip side, there’s plenty that PhDs must unlearn when they move to industry (e.g. they tend to have less experience working in larger teams with external dependencies, managing customer expectations, and are generally less “practical”, and the habits they learned in academia can inhibit their success in those areas).
On the gripping hand I also know multiple professionals that moved on to work at universities to manage and support labs - turns out a lot of that science needs an engineer or project manager’s touch to actually get done. Even looked into that myself but got turned off by requirements to submit a DEI loyalty oath alongside my resume. But, unlike being a grad student, these roles did offer reasonably competitive pay and working conditions. They seemed to get plenty of applicants.