Primeiro eu precisava definir ProxyPreserveHost Off (que é o padrão)
Altere o ponto de entrada para o aplicativo PSGI.
builder {
return $app;
}
torna-se:
builder {
mount "/dispatch" => $app
}
altere o ProxyPass para:
ProxyPass /dispatch/ balancer://my_cluster/dispatch/
Agora o url_self () funciona como esperado.