A solução estava nos comentários. O ELB tem uma conexão padrão KeepAlive de 60 segundos. Apache2 tem uma conexão padrão KeepAlive de 5 segundos. Se os 5 segundos acabarem, o Apache2 fecha sua conexão e redefine a conexão com o ELB. No entanto, se uma solicitação chegar no momento exato, o ELB aceitará, decidirá para qual host a encaminhar e, nesse momento, o Apache fecha a conexão. Isso resultará no dito código de erro 502.
A solução é: Quando você tem proxies / LBs em cascata, alinhe seus tempos limite do KeepAlive, ou - preferivelmente - até mesmo os deixe um pouco mais longos na linha que você tem.
Definimos o tempo limite do ELB para 60 segundos e o tempo limite do Apache2 para 120 segundos. Problema desaparecido.