Load Balancer made up of Tunnel Origins fails

I reported this I believe around 2 years ago, but why is it not possible to make up a Load Balancer where the origins are cloudflared tunnels?

tl;dr
-Create Load Balancer.
-Add Origin pool made up of Cloudflared tunnels.
-Cloudflared rejects connection via LB as no rule will ever match due to wrong incoming host.

I opened a ticket here, but I think the issue is more than just the cloudflared binary.

Thanks.

This seems to suggest that using the auto generated address for the tunnel should be added to the load balancer pool instead, so I tried that.

This NEARLY works, based on the response I can see a sort of 50/50 weighted response. But if I run curl a few times, say 20, I can see the catchall 50x for a tunnel is being hit. I know which tunnel is being hit as I set one to a 501 and the other to 503. If I check the cloudflared logs,

Mar 22 10:32:43 api-server-1 cloudflared[618]: 2023-03-22T10:32:43Z DBG CF-RAY: 7abdc5b60c6bb2eb-MAN GET http://api-server-2.domain.com/ HTTP/1.1

Mar 22 10:32:43 api-server-1 cloudflared[618]: 2023-03-22T10:32:43Z DBG Inbound request CF-RAY=7abdc5b60c6bb2eb-MAN Header="map[Accept:[*/*] Accept-Encoding:[gzip] Cdn-Loop:[cloudflare] Cf-Connecting-Ip:[2a09:bac5:37a5:278::3f:5d] Cf-Ipcountry:[GB] Cf-Ray:[7abdc5b60c6bb2eb-MAN] Cf-Visitor:[{\"scheme\":\"http\"}] Cf-Warp-Tag-Id:[42a42c4f-5735-4888-8aa6-aefe91343af8] User-Agent:[curl/7.79.1] X-Forwarded-For:[2a09:bac5:37a5:278::3f:5d] X-Forwarded-Proto:[http]]" host=api-server-2.domain.com path=/ rule=4

Mar 22 10:32:43 api-server-1 cloudflared[618]: 2023-03-22T10:32:43Z DBG CF-RAY: 7abdc5b60c6bb2eb-MAN Request content length 0

Mar 22 10:32:43 api-server-1 cloudflared[618]: 2023-03-22T10:32:43Z DBG CF-RAY: 7abdc5b60c6bb2eb-MAN Status: 503 Service Unavailable served by ingress 4

This is the log from server 1. A request came in for server 1, but it was for server 2?! There are no rules and so the catchall is hit. What am I missing here?

From my understanding, the LB routed the traffic to server 1, but the host header was not set correctly, how does this happen? How does it sometimes work and not others?

The only bodge solution would be to have a dedicated cloudflared instance and use the catchall so it works whatever, but surely this is not required?