É provável que o seu back-end esteja apenas retornando 403 uma vez, mas o Varnish está armazenando-o em cache para solicitações futuras. Sim, o Varnish armazenará em cache mesmo as coisas que você não quer que ele armazene em cache, como páginas de erro, se você não configurar a VCL para fazer o contrário.
Eu não posso realmente comentar se o seu back-end é limitador de taxa ou não, mas você provavelmente deve tentar descobrir isso antes de começar a mexer nos cabeçalhos do Varnish para fornecer uma solução para um problema que você ainda não descobriu ainda.
No entanto, para responder à sua pergunta, você pode definir o cabeçalho x-forwarded-for em Varnish da seguinte forma:
em vlc_recv
req.http.x-forwarded-for = client.ip