Eu encontrei uma solução, de tipos.
Parece que o ip_hash é incompatível com a diretiva de backup e, possivelmente, com qualquer outra diretiva no bloco upstream.
Depois de remover a linha de backup, o ip_hash funciona como deveria.
No entanto, isso parece estranho. Estou usando uma versão recente do NGINX - 1.6 - e não consigo encontrar nada nos documentos mais recentes para dizer que as diretivas ip_hash e backup ainda são incompatíveis.