The 6in4 tunnel is not leaving the router through the WAN, but through an OpenVPN tunnel, and I have verified that the packets are arriving at the remote end, so they should not be subject to the default masquerade.
I’m not using mangle, at least not that I am aware of. There is nothing under /ip firewall mangle. The frames are routed through dynamic routes pushed from the remote Open VPN server.
As you’ve properly found in the ip firewall connection print detail output, the packets are sent from the correct IP address (src-address=192.168.32.1), but the connection has been src-nated (reply-dst-address=10.160.22.11).
The thing is that the /ip firewall nat rules only handle the initial packet of each connection, and the decision taken is inherited by all subsequent packets of the same connection. So after you have disabled or removed the action=src-nat (or action=masquerade) rule responsible for this, you still have to remove the connection from the connection tracking table: /ip firewall connection remove [find protocol=ipv6-encap]
Or disable the tunnel interface for 10 minutes until the connection disappears from the list on timeout expiration and then re-enable it.
The first packet to come when the connection doesn’t exist in the connection tracking table is treated by the NAT chains and creates a new connection.