Yes this is expected behaviour
only one VirtualService can be applied per host, and if there are multiple VirtualService resources for the same host, Istio will pick one arbitrarily, leading to unpredictable behavior
You must combine the main and feature routing logic into a single VirtualService per host.