I noticed that for REST requests, the response headers are slightly different. For a JSON response, FuelPHP will return a Content-Length header, while an XML response will not. Conversely, for an XML response, FuelPHP will return a Transfer-Encoding header (chunked), while a JSON response will not. Is this by convention?
Check and see if you have apache mod_proxy. When the content gets over a certain size a policy rule goes into effect the removes this property. Makes sense that the xml will be larger than the json. I am setting this explicitly now.