Ага, понятно, fwd работает, дело не в нём. Дело в выборе исходного IP-адреса, а выбирается он согласно таблице маршрутизации. Маршрутизация смотрит на VPN, выбирается адрес с того соединения, куда смотрит маршрут, а fwd не меняет содержимое пакета.
Варианты решения:
1) Апгрейд системы, в новых версиях есть поддержка нескольких таблиц маршрутизации и утилита setfib, позволяющая при запуске приложения привязать его к указанной таблице. Тогда почтовик запускается с таблицей, в которой маршрут по умолчанию смотрит на ${oif} и никаких VPNов в ней не появляется.
2) Запустить еще один NAT (натящий в IP-адрес реального интерфейса), в который заворачивать только почтовик. После ната делать fwd с этого IP-адреса на соответствующий шлюз.
3) Попробовать (не факт, что получится) жестко привязать почтовик (его настройки) к адресу нужного интерфейса, а не *:*, тогда, по идее, будут пакеты с нужным src без ната, далее fwd как в варианте 2.