The monitors using custom scripts to know the status of the service do not go through the SNIP address.
Instead, the traffic always go through Netscaler's Management IP(NSIP).
All other monitors uses SNIP address to send the monitoring traffic to the backend service (e.g. TCP, HTTP)
The behavior is same even with a Net Profile configured, where traffic is sent using NSIP
This is by design, as scriptable monitors use Freebsd to send the traffic and sourced from NSIP.
To send the scriptable monitor traffic from a SNIP address, refer the steps explained here.
The OS only sees the physical interface of Netscaler which is the management interface. All the other SNIP or MIP IP's are virtual to the Netscaler and the OS does not recognize it.
https://docs.netscaler.com/en-us/citrix-adc/current-release/networking/source-citrix-adc-freebsd-traffic-from-snip.html