Ingress is so last year....
Currently TCP challenges are exposed via individual LoadBalancer services, not through ingress. Worked, but not great to create several cloud provider LoadBalancers if we dont need to. The new Gateway api supports TcpRoute resources to do TCP level routing (great).
Keep challenges on individual domains, but point them all at the same IP / ingress LB on unique ports.