1. Research is part of the pedagogy. Getting involved in a research lab as an undergraduate is a great way to land in the top 5-10 percentile.
2. I think what you're saying is roughly correct, but would warn that you can very easily go way too far in the other direction. For example, check out some of the smaller colleges and state branch campuses launching data science departments staffed entirely by non-stats/non-CS faculty who have 0 days of work experience. Mostly because their math courses are under-subscribed and they've gotta do something with those bodies. The quality of these programs is about what you'd expect. So, you don't need top-tier faculty. However, you do need faculty who have at least a relevant terminal degree and/or significant work experience. Otherwise, it's the blind leading the blind.
3. Curriculum does vary radically between universities! C.f., Stanford and a random branch campus of a state school.
4. As you noted, cohorts can also vary even more radically.