Piotr, haveing re-read The order of precedence for local traffic object listeners and A virtual server with a SNAT pool takes precedence over matching the NAT then i can confirm you are seeing expected behaviour.
In your example the VS wins out as the destination listener is met (not the case for the NAT object). The the NAT is applied as it matches a source listener.
If you don't want to map then you could use SNAT Automap/Pool in the VS to override this NAT object, or not have the NAT in place and revisit the traffic flows for best VS/NAT/SNAT configuration.
Hope this helps,
N