If you are running a traditional K8S ingress behind a Layer 7 GKE LB, you can absolutely run an Istio-ingress-gateway as the backend service of your K8S ingress. Try it, it works.
You will run into issues with your GKE LB health check port because Google is persnickety about the health check port being the same as your service, but you can handle that with a virtual service, something like this:
API Version: networking.istio.io/v1beta1
User - Agent:
This is a known solution, I did not write it, but I have implemented it successfully… Grep the internet for more info.