If you look at the MikroTik firewall flowchart, then you'll see the reason for what you observed:
-
When incoming connections arrive on
ether1, withdst-addressin the10.10.4.xrange, the first NAT action that will be performed on the initial packet are DSTNAT rules, box #10 in the flowchart. -
Which means, if the destination addresses matches, then DSTNAT will change all the
dst-addressof those incoming packets into the range11.11.1.x. -
The initial packet of the connections will be put in the forward chain, with
out-interface=ether3(appropriateout-interfacefor the destination11.11.1.0/27). -
Packets go through the other part of the firewall, including the filter forward rules (box #14).
-
Only near the end they will be handled by the SRCNAT rules at #25. But at this moment, the
dst-addressof the packets are11.11.1.x, which obviously are not the10.10.4.xvalues you use in the conditions of the SRCNAT rules, so none of them match. -
As a result, the source of the packets are not modified.
You'll need to modify all those SRCNAT rules, and put in the dst-address condition the destination address after being modified by DSTNAT (the addresses in the 11.11.1.x range, plus a condition connection-nat-state=dstnat to be sure the connections have previously been modified by the DSTNAT rules.