Thanks for the feature request submission! To clarify, the commands that were shared were solely an example of how it can be done. Technically what you want to do can be done immediately, but it requires more custom work. As you notice, right now it applies to the WAN which affects all in that zone.
It’s unfortunately not maintainable to support all custom configurations fully, which is why we share partial examples. I do understand that your preference here as well. What you need to do is break the desired wan into it’s own zone. Here’s a more specific example, assuming wan2 is the desired interface, if you wanted to try it in a lab environment:
# remove wan2 from the default wan NAT zone
uci del_list firewall.wan.network='wan2'
# now create a separate non-NAT zone
uci set firewall.wan_no_nat=zone
uci set firewall.wan_no_nat.name='wan_no_nat'
uci set firewall.wan_no_nat.input='DROP'
uci set firewall.wan_no_nat.output='ACCEPT'
uci set firewall.wan_no_nat.forward='DROP'
uci add_list firewall.wan_no_nat.network='wan2'
uci set firewall.wan_no_nat.masq='0'
uci set firewall.wan_no_nat.mtu_fix='1'
# save + apply
uci commit firewall
service firewall reload
So if this was going to another router, then I would think a static route is the only other thing you need to add and those are already available in Control.
If you needed forwarding from the entire lan, or a subset of, to hit that link, then you would add something like this (requires the same save+apply), but otherwise, it’s just the above code block.
# add forwarding example
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='wan_no_nat'