It's difficult to give you an answer without more information about your setup. Pasting the contents of the manifests here would be helpful to diagnose the issue.
My hunch is that you are getting errors for the Elasticsearch endpoint because the Google Cloud Load Balancer (GCLB) creates an implicit health check by reusing the readiness probe. The default readiness probe created by ECK is not an HTTP probe and therefore GCLB fails to create the health check and considers the backend to be unavailable.
The reason ECK does not create an HTTP readiness probe by default is because it requires anonymous access to be enabled for Elasticsearch. You can restrict the scope of anonymous access but it is something that needs to be carefully considered as the Elasticsearch cluster will be open to the internet. If you are comfortable doing so, we have an example of configuring GCLB at https://github.com/elastic/cloud-on-k8s/tree/1.2/config/recipes/gclb.
Alternatively, you can configure a reverse proxy in front of Elasticsearch and expose the proxy through the ingress. That way, you don't have to change the Elasticsearch security to allow anonymous access.