REST (JSON) responses are set to 'text/plain' rather than 'application/json' for a couple of reasons.
a. 'text/plain' is friendlier.
If we used Content-Type = 'application/json', it is not displayed by the browser. The browser forces you to download and save the response, before allowing you to view it. This would not happen if we used 'text/plain'.
b. The ArcGIS Server REST API supports JavaScript callbacks ('callback' parameter) which help us get around the cross domain issues. When JSON is wrapped by a callback, it is no longer JSON in the 'strict' sense.
Therefore we chose to use 'text/plain' rather than 'application/json'
If you absolutely want 'application/json' as the content-type, you can use a proxy that overrides the headers for the JSON requests, and make calls to the REST API using your proxy.