Encontrou! Havia uma regra estranha de iptables em POSTROUTING, que não é mostrada por padrão pelo iptables -L.
iptables -t nat -v -L POSTROUTING -n --line-number
:
Chain POSTROUTING (policy ACCEPT 20 packets, 1200 bytes)
num pkts bytes target prot opt in out source destination
1 25 1775 SNAT all -- * eno+ 0.0.0.0/0 0.0.0.0/0 to:<my-external-ip>
Eu deletei com iptables -t nat -D POSTROUTING 1