Если у страницы не будет указан Content-Type - браузер попытается сам определить содержимое. Тоже самое, если тип контента браузеру не будет знаком. IE 8, например, не признает application/json, поэтому HTML попавший в него также срендерится и XSS выполнится. В жизни этот браузер уже не встретить, но часто в BugBounty это принимают.
Для Хрома сниффинг HTML заработает, если первыми символами будет валидный HTML-тег. Например {"xss":"<script>alert()</script>"} — уже не пройдет.
Заголовок X-Content-Type-Options: nosniff в свою очередь отключает у браузера функциональность определения содержимого.