Graças ao efeito rubber duck de escrever esta pergunta, encontrei uma solução.
O arquivo fastcgi_params
da Nginx contém a linha:
fastcgi_param SERVER_NAME $server_name;
que é o que faz com que esse valor apareça em $_SERVER['SERVER_NAME']
no ambiente PHP.
Alterei isso para usar a variável $ host :
fastcgi_param SERVER_NAME $host;
e meu problema foi embora. Eu estaria interessado em saber se há alguma desvantagem dessa abordagem.