The (I’m assuming) HTTP load balancer will only health check against HTTP port 80 (plus a handful of other default settings) unless you tell it otherwise. So while you did put in the correct FW rules for the health check, your health check was never going to port 8443 anyway.
What you need is a BackendConfig that defines a custom health check port/path/protocol, etc.
Here’s an example of a BackendConfig with a custom health check defined.
You’ll also need to point your Ingress at it in the annotations. Example here.
I have the same problem in two scenarios, the first one when I scale the deployment in the istio-system namespace istio-ingress-gateway the issue is basically the load balancer create a new exponents making some request fails, do you have a idea about a good solution ?