Es ist ein schwerwiegender Bruch des Vertrauens, wenn Softwarekomponenten spontan irgendwelche Dinge ändern. Wenn der Entwickler einen Request-Header "Content-Type: application/octet-stream" setzt, dann erwartet er, dass dieser Header genauso auch gesendet wird. Und er wird sich darauf verlassen, dass das genauso auch am Server ankommt: Unverändert und RFC-gemäß, wie denn sonst!!!
Die XHR-Schnittstelle wird nicht durch einen RFC spezifiziert, sondern durch den WHATWG Standard. Und sie verhält sich auch konform zu diesem Dokument. Das ist offensichtlich nicht das, was du erwartet hast, das ist ohne Zweifel eine frustrierende Erfahrung. Du kannst den Standard auch für diese (deiner Meinung nach) obskure Semantik kritisieren, aber du kannst hier mit Sicherheit niemanden vorwerfen, entgegen dem Standard dein Vertrauen missbraucht zu haben.
Hast du den Fehler denn inzwischen beheben können?