Você está passando a solicitação inicial Host header sub.example.com para example.com :
proxy_set_header Host $http_host;
Ao fazer proxy na solicitação, é provável que caia em sub.example.com vhost ou vhost padrão, não example.com vhost, dependendo da sua configuração.
Remover esta linha.