As per the configuration you have mentioned in your post the source NAT should work.
On the Fortigate once you have the set nat-source-vip is enabled on the VIP config the SNAT would happen with the VIP IP address.
With only "set nat-source-vip enable" in the VIP then the VIP will be used for SNAT instead of the ippool
The behavior is the same when the IP address of the physical interface is used and not an ippool
However, the configuration mentioned by you in the post should work but sometimes there might be an issue on a specific firmware version for which you can try enabling port forwarding instead of using services.
useful link: https://community.fortinet.com/t5/FortiGate/Technical-Tip-VIP-configured-with-Any-interface/ta-p/189...