VirtualService With Invalid Attribute Created Without Error

Hello,

Istio 1.4.8
Kubernetes 1.15.11

This is an example of a single occurrence. I have found other situations where attributes used are invalid.

I have a v1alpha3 VirtualService where the PortSelector has a name attribute.
I reviewed the following:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo-Mongo
spec:
  hosts:
  - mongo.prod.svc.cluster.local
  tcp:
  - match:
    - port: 27017
    route:
    - destination:
        host: mongo.backup.svc.cluster.local
        port:
          number: 5555
          name: mongo

No error is returned with the above config despite the PortSelector:

          name: mongo

You may be wondering how I spotted the above invalid resource. I am also running Knative 0.14.0 in my cluster and the net-istio component validates all of the VirtualService resources in my entire cluster. It throws errors when it finds VirtualServices like the one above.
Example error from Knative net-istio:

E0519 03:54:28.810700       1 reflector.go:123] runtime/asm_amd64.s:1357: Failed to list *v1alpha3.VirtualService: v1alpha3.VirtualServiceList.Items: []v1alpha3.VirtualService: v1alpha3.VirtualService.v1alpha
3.VirtualService.Spec: unmarshalerDecoder: unknown field "name" in v1alpha3.PortSelector, error found in #10 byte of ...|080}}}]}]}},{"apiVer|..., bigger context ...|.local","port":{"name":"http","number":808
0}}}]}]}},{"apiVersion":"networking.istio.io/v1alpha3","ki|...

From this issue: https://github.com/knative/serving/issues/7320

It looks like this is because of v1alpha3.VirtualServiceUnmarshaler.AllowUnknownFields = true

So now it appears that this behavior is intentional.