I´m not sure if I got your latest update right. iRule was removed from the virtual but traffic was still forwarded according to the iRule logic?
Configuration changes will apply to new connections only. The iRule may still exist in the context of a keepalive connection even it was removed from the virtual server configuration.
Please make sure to delete all related connections after changing the configuration and before running a new test. (The following command with parameters to specify i.e. a client IP will do the job.)
tmsh delete sys conn
You are using OneConnect? This feature may help you when trying to de-multiplex requests to different targets coming in through a single keepalive connection.