From the (hacky, I'll admit) StackOverflow answer https://stackoverflow.com/a/39110711/188, you should be able to swizzle the fieldnames attribute, and stuff should still work.
When using unicodecsv.DictReader, this behaviour does not apply: the yielded dicts still have the original keys.