Error while reading error page middleware: load balancer service oauth2-proxy/oauth2-proxy is not in the parent resource namespace linkerd-viz

Trying to setup oauth2-proxy with traefik for the linkerd dashboard, with nginx ingress everything works fine, however it doesn't with Traefik.

This is my yaml:

---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: auth-headers
  namespace: linkerd-viz
spec:
  headers:
    sslRedirect: true
    stsSeconds: 315360000
    browserXssFilter: true
    contentTypeNosniff: true
    forceSTSHeader: true
    stsIncludeSubdomains: true
    stsPreload: true
    frameDeny: true

---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: oauth-auth
  namespace: linkerd-viz
spec:
  forwardAuth:
    address: https://mydomain.com/oauth2/auth
    trustForwardHeader: true

---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: oauth-errors
  namespace: linkerd-viz
spec:
  errors:
    status:
      - "401-403"
    service:
      name: oauth2-proxy
      namespace: oauth2-proxy
      port: 80
    query: "/oauth2/sign_in"

---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: oauth2-proxy
spec:
  entryPoints:
    - websecure
  routes:
    - match: "Host=(`mydomain.com`) && PathPrefix(`/oauth2/`)"
      kind: Rule
      services:
        - kind: Service
          name: oauth2-proxy
          namespace: oauth2-proxy
          port: 80
      middlewares:
        - name: auth-headers
          namespace: linkerd-viz

---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: linkerd-dashboard-ingress-v2
  namespace: linkerd-viz
  annotations:
    kubernetes.io/ingress.class: traefik
    cert-manager.io/issuer: traefik-issuer
spec:
  entryPoints:
    - websecure
  routes:
    - match: "Host=(`mydomain.com`)"
      kind: Rule
      services:
        - name: web
          namespace: linkerd-viz
          kind: Service
          port: 8084
      priority: 1
      middlewares:
        - name: oauth-errors
        - name: oauth-auth
  tls:
    secretName: linkerd-dashboard-ssl-cert

Those are the logs

time="2021-09-07T09:05:43Z" level=error msg="Error while reading error page middleware: load balancer service oauth2-proxy/oauth2-proxy is not in the parent resource namespace linkerd-viz" middlewareName=linkerd-viz-oauth-errors providerName=kubernetescrd
time="2021-09-07T09:05:43Z" level=debug msg="Skipping Kubernetes event kind *v1.Endpoints" providerName=kubernetescrd
time="2021-09-07T09:05:45Z" level=error msg="Failed to create middleware keys: middleware linkerd-viz/auth-headers is not in the IngressRoute namespace default" providerName=kubernetescrd ingress=oauth2-proxy namespace=default
time="2021-09-07T09:05:45Z" level=debug msg="Skipping Kubernetes event kind *v1.Endpoints" providerName=kubernetes

time="2021-09-07T09:05:45Z" level=error msg="Error while reading error page middleware: load balancer service oauth2-proxy/oauth2-proxy is not in the parent resource namespace linkerd-viz" providerName=kubernetescrd middlewareName=linkerd-viz-oauth-errors
time="2021-09-07T09:05:45Z" level=debug msg="Skipping Kubernetes event kind *v1.Endpoints" providerName=kubernetescrd

It keep saying that the service oauth2-proxy/oauth2-proxy is not in the parent resource namespace linkerd-viz, why it has to be there? I have specified the namespace.
Also middleware linkerd-viz/auth-headers is not in the IngressRoute namespace default, but I still specified the namespace.