Eu não sei se é certo responder a minha própria pergunta. Mas depois de alguns dias eu finalmente encontrei a solução.
Quero agradecer a Alexey Ten por mencionar a palavra "módulo". Parece que o módulo de velocidade da página é o problema. Desativar o speedpeed nos arquivos de configuração do nginx resolveu o problema. Eu li pagespeed apenas altera o html, então provavelmente o pagepeed achou que a saída xml era html. Eu ativei o Pagespeed novamente e adicionei:
header('Content-Type: text/xml');
nos arquivos .php. Agora tudo funciona bem. O estranho é que eu também usei o Apache com o módulo pagespeed e nunca tive esse problema. Provavelmente, há uma diferença no comportamento de velocidade da página com o Nginx comparado ao Apache.