Is education for research-based CS at odds with that of industrial CS?
I struggled with the same question while pursuing my undergrad in CS. I performed a fair amount of research, but currently work as a software engineer. I can tell you that for the most part, you won't do too much theoretical CS in the industry (assuming a typical SE, not something tailored for R&amp;D or the like). You may want to consider looking into R&amp;D positions after graduating, should you decide not to pursue a career in academia.

The learning routes do definitely differ (although this is university-specific), but the principles learned can be used in either setting. Certain classes (Compilers, Automata Theory, etc.) may not seem like they have a place in the typical industry for software engineers, but you'd be surprised just how much they come into play.

The biggest difference that you should be prepped for is the difference in "soft" classes. Software engineers are often expected to interface directly with customers, nontechnical managers, and the like, while researchers/professors generally rub shoulders with their own kind in the workplace. As a SE, you get a lot more face time than many CS people are prepared for.