@jeffkaufman "If ModifyCachingHeaders is off then I would expect the Cache-Control or ETag headers, for example, to be left alone, but shouldn't other headers still get cleaned?"

Ah - yes. This is a shortcut, but looking in to it, we indeed might end up duplicating headers later on.
Should I change this to:

1. store copies of the caching related headers
2. clean the headers
3. re-add the cache-related headers?