ResourceHandlerImpl is not the one responsible to deal with the encoding in an ajax request. Checking this part, it seems the encoding is set in javax.faces.context.PartialResponseWriter.startDocument() and it is always utf-8.
It looks like that part is wrong. The javadoc says: "... write the start of a partial response. ...." so in that sense is right, but it should not write the xml preamble there. Instead, it should write the preamble in PartialViewContextImpl.processPartialRendering and take as content type the character encoding of the writer.
Since this issue was not marked with component type JSR-314, it did not fell out of my radar. I'll check this one.