So yeah, I had an education over the weekend. I figured the web.configs for xConnect sites were different, but I've always assumed it's the same for a CM and CD site. And I think in Sitecore 8 and lower, it might have been. But something changed on the way to Sitecore 9 that I'd never noticed, and I'm not just talking about the roles to define a CM and CD here.
So I downloaded the XP1 packages for 9.3, broke them open, and pulled out the out of the box web.configs for both, then fired up my trusty WinMerge. Not that I doubted them, but they were right! Good news is, the changes aren't huge, but they should be accounted for certainly.
So excepting out the role difference, which is obvious, here's some screenshots of what to look for. The CM configuration is on the left, and the CD configuration is on the right.
So there you have it. I'd recommend doing this comparison on whatever version of Sitecore you're on, at least starting from 9.0. Your best bet would be to set up a CI/CD process where the base web.configs are never touched by developers, and you're just using transforms to do the work.
But that's another blog...stay tuned!