Getting 404 for WebSocket Secure (WSS) handshake

I'm currently running a kubernetes ingress configured via the official Traefik helm chart for my k8s cluster. I have a node-red instance that I setup in rules to forward requests to the node-red container. Traefik is running as ingress on AWS Classic LB. I've configured HTTP/HTTPS rules for the LB with the right certs. It all works fine for my Caddy server serving an SPA and a GraphQL endpoint via HTTPS. In this SPA, I'm trying to load node-red in an iframe.

Now, node-red's static files loads just fine via HTTPS. However, the WSS handshake it tries to establish fails with 404. If I switch to HTTP, the handshake works and everything runs just fine but it just doesn't work for WSS. When I turn on debug, I'm seeing the following entry:

202.3.121.5 - - [28/Oct/2019:11:33:50 +0000] "GET /fabric-workflow/comms HTTP/1.1" 404 144 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" 478 "/fabric-workflow/" "http://10.2.2.45:1880" 1ms

My ingress configuration is as follows:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: df-ingress-external
  namespace: custom
  annotations:
    kubernetes.io/ingress.class: traefik-external
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
    - http:
        paths:
          - path: /
            backend:
              serviceName: app-ui
              servicePort: 80
          - path: /api
            backend:
              serviceName: app-graphql-server
              servicePort: 4000
          - path: /workflows/
            backend:
              serviceName: node-red
              servicePort: 1880

Could someone tell me what I'm doing wrong?