Converting Traefik Config to Kubernetes IngressRoute CRD

I have Zitadel deployed on my Kubernetes Cluster and want to be able to reach it from outside. For that I deployed traefik as an Ingress controller.

Zitadel gives an Example for a traefik configuration file on their Website:

entrypoints:
  web:
    address: ":80"
providers:
  file:
    filename: /etc/traefik/traefik.yaml
http:
  middlewares:
    zitadel:
      headers:
        isDevelopment: false
        allowedHosts:
        - 'localhost'
  routers:
    router0:
      entryPoints:
      - web
      middlewares:
      - redirect-to-https
      rule: 'HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)'
      service: zitadel
  services:
    zitadel:
      loadBalancer:
        servers:
        - url: h2c://localhost:8080
        passHostHeader: true

I tried to convert this to an Kubernetes IngressRoute CRD with this result:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: zitadel
  namespace: apps

spec:
  entryPoints:
    - websecure

  routes:
    - match: HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)
      kind: Rule
      services:
        - name: zitadel
          namespace: apps
          port: 8080
          scheme: h2c
          passHostHeader: true
    - match: HostRegexp(`localhost`, `{subdomain:[a-z]+}.localhost`)
      kind: Rule
      services:
        - name: zitadel
          namespace: apps
          port: 8080
          scheme: http
          passHostHeader: true

But with this IngressRoute, the html Part of the Webapp loads, but the Grpc calls fail.
I posted this question on StackOverflow but am asking it here too to get more attention to it.

Thanks in advance for your help