521
não é um código de resposta HTTP válido, e o Apache estaria violando a especificação HTTP retornando-a.
Dê uma olhada no log de erros do Apache - ele pode estar realmente sufocando no código de resposta que está recebendo do backend e emitindo um erro para o cliente, não mapeando o código 5xx
para 500
.
Eu sugiro strongmente contra o uso indevido de códigos de resposta HTTP como este, mas o HAProxy ou o Varnish têm a capacidade de atuar como um "tubo burro", que pode atender às suas necessidades.