JsonResult to derive from ObjectResult.

why force it? This goes against the basic principal of letting filters alter headers. You should check if the header was set, and if so don't change it.