Don't understand how istio is setting routes

Is the following expected ?

Gateway yaml applied:

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - host-a.example.com
    - host-b.example.com
    tls:
      mode: SIMPLE
      credentialName: istio-ingressgateway-certs-tls

Virtualservice yaml applied for host-a.

spec:
  gateways:
  - my-istio-system/my-gateway
  hosts:
  - host-a.example.com
  http:
  - match:
    - uri:
        prefix: /app
    name: fancy
    route:
    - destination:
        host: fancy
        port:
          number: 80

host-b is defined the same way.

Output of istioctl proxy-config:

$ istioctl proxy-config routes -n my-istio-system pod/istio-ingressgateway-123
NAME                                                 DOMAINS     MATCH                  VIRTUAL SERVICE
https.443.https.my-gateway.my-istio-system     *           /*                     404
                                                     *           /healthz/ready*
                                                     *           /stats/prometheus*

In Brief: I would expect 2 routes with Domain: host-a.example.com and host-b.example.com, resp.
The Match should reflect the prefix /app as set in virtualhost, I assume.
However to my suprise I find * for Domain and /* for Match.

Any comments ?