Ok, acho que descobrimos ...
No lado do cliente, o Squid 2.5 e anteriores não entendem "Transfer-encoding: chunked", então ele entrega cada parte como o pedido do cliente inteiro. Como é apenas uma parte de toda a solicitação compactada, são dados inválidos e não podem ser lidos pelo navegador. (Não tenho certeza se isso é um problema com outros proxies)
No lado do servidor, o IIS sempre envia codificação em partes para Compactação dinâmica (já que o IIS não armazena em cache as respostas do aplicativo, ele precisa compactar cada resposta em tempo real, daí a codificação em partes).
A única maneira que podemos pensar em consertar isso é desabilitar completamente a compactação para clientes HTTP 1.0 e apenas compactar para respostas HTTP 1.1. A desvantagem é que qualquer pessoa por trás de um proxy que envia solicitações de 1.0 não recebe dados compactados e o site carregará 0,5 a 1 segundo mais lentamente para esses usuários.
Alterações feitas no arquivo metabase.xml:
<IIsCompressionSchemes Location ="/LM/W3SVC/Filters/Compression/Parameters"
...
HcDoOnDemandCompression="TRUE"
HcNoCompressionForHttp10="TRUE"
...
</IIsCompressionSchemes>
Se alguém tiver uma solução melhor, informe-nos!