I tried a bunch on a separate EKS cluster, like HAProxy and Traefik, but eventually I landed on using Envoy Gateway since to me it felt like the most approachable and stable solution for our use case. Since I started the migration I made a respectable number of mistakes. These are my notes.
https://mijndertstuij.nl/posts/migrating-ingress-nginx-envoy-gateway