Parece que o nginx suporta reescrever os pedidos para o servidor proxy, então, atualizar a configuração para isso fez com que funcionasse:
location /grafana {
proxy_pass http://localhost:3000;
rewrite ^/grafana/(.*) /$1 break;
proxy_set_header Host $host;
}
Meu grafana.ini também tem uma raiz atualizada:
[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana