Graças a Alexey Ten comentar na minha pergunta, eu consegui corrigir meus vários erros.
Primeiro, meu regex estava errado, então eu não estava capturando parâmetros ao testar
Em seguida, também alterei rewrite para proxy_pass para manter minha URL igual
location /cache/ {
alias /my/path/cache/;
}
location ~ "/tiles/(?<section>[a-zA-Z1-9]*)/[0-9]{1,2}/[0-9]{1,6}/[0-9]{1,6}.png$" {
proxy_pass http://my.tested.ip.code/cache/$section.png;
proxy_set_header Host $host;
}
onde my.tested.ip.code é o IP do servidor.