Routing not working as I expected

Hello, I have a few question regarding how the routing inside a virtual service is supposed to work.

I have the following VirtualService

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: external-vs
  namespace: socialcheck-dev
spec:
  hosts:
    - "*"
  gateways:
    - http-gateway
  http:
    - name: "postauth"
      match:
      - uri:
        exact: /postauth
      route:
        - destination:
            port:
              number: 8080
            host: postauth
    - name: "frontend"
      route:
        - destination:
            port:
              number: 8081
            host: sa-frontend

I would expect that calls to /postauth would be routed to the postauth service and everything else to sa-frontend, but it seems like everything is always routed to the postauth service. Changing the order of the matchers make it so everything goes to the sa-frontend service.

Is that what is supposed to happen?

Another question is regarding