Existe aparentemente algum tipo de modo "transparente" para o haproxy que eu nunca olhei ou que queria saber, que você poderia tentar. Caso contrário, você precisará ensinar qualquer que seja o serviço de back-end sobre o modo especial do haproxy de enviar o IP original ("PROXY blahblah") e fazer com que o serviço retire o IP original disso.
Por que você está incomodando com o haproxy? Você já tem o keepalive em funcionamento e também faz um balanceamento de carga transparente adequado.