“Ingress is not a Service type”. Why not? Is this just a historical accident?
An Ingress (in GKE) sets up a global HTTP Load Balancer. A K8s “LoadBalancer” Service sets up an internal network LB. Logically, in general you might want the one or the other, but not both, and so these seem functionally in the same category, not in two separate layers.