O problema era com o tamanho do mtu da interface do docker. Tenho uma conexão PPPoE que tem um tamanho de mtu inferior a 1500 bytes - então o que tive que fazer foi definir o MSS clamping no iptables.
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Mais informações sobre a solução podem ser encontradas aqui: https://stackoverflow.com/a/79081640/1342413