I have a similar issue that I reported on this thread
My port name is correct but the traffic split does not work. It works if I change the service port from 80 or 443 to some non standard port like 8181
Here is a the bug I opened Port 80/443 not working with virtual service · Issue #19835 · istio/istio · GitHub
This complete yaml file will reproduce the issue hello-both-http-port.yaml