Ok, depois de uma pequena conversa com Yahia Zakaria, consegui identificar o problema. O aplicativo usa mais do que o TCP para se comunicar, então o DNAT apropriado deve ser:
iptables -t nat -A OUTPUT -d 192.168.1.15 -j DNAT --to-destination 54.3.22.1
E é basicamente isso.