Metadata server host isn't configurable with tf.io.gfile
Given the implementation is currently using a metadata url and not an ip i wonder if the more correct varaible would be `GCE_METADATA_HOST`.  I am not sure what the difference would really end up being.  It seems it's inconsistent across different clients. Looking at google-auth-library-python, the GCE_METADATA_HOST should be used to override the endpoint and GCE_METADATA_IP is only used for the ping check: https://github.com/googleapis/google-auth-library-python/blob/34b78973418101fbf2326d9dba6d68e2eeb1b4c8/google/auth/compute_engine/_metadata.py#L36

This makes me think that GCE_METADATA_HOST would be more appropriate. That being said other parts in tensorflow like TPU client use GCE_METADATA_IP. Maybe you could make it such that both work? Yeah it doesn't seem terribly consistent unfortunately. I would lean towards adding `GCE_METADATA_HOST` for the c++ and maybe also allow it in the TPU location linked above.  That sounds good to me Fixed in: https://github.com/tensorflow/tensorflow/commit/7c0225a6167fcad0b1836a3948de1e52d2c436f3 @samos123 closing the issue, feel free to reopen if solution does not work.  Are you satisfied with the resolution of your issue?
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=Yes&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60235">Yes</a>
<a href="https://docs.google.com/forms/d/e/1FAIpQLSfaP12TRhd9xSxjXZjcZFNXPGk4kc1-qMdv3gc6bEP90vY1ew/viewform?entry.85265664=No&entry.2137816233=https://github.com/tensorflow/tensorflow/issues/60235">No</a>

<details><summary>Click to expand!</summary> 
 
 ### Issue Type

Bug

### Have you reproduced the bug with TF nightly?

Yes

### Source

source

### Tensorflow Version

latest

### Custom Code

Yes

### OS Platform and Distribution

_No response_

### Mobile device

_No response_

### Python version

_No response_

### Bazel version

_No response_

### GCC/Compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current Behaviour?

setting the env var `GCE_METADATA_IP` to something other than `http://metadata.google.internal` has no effect to get the default service account token. This is currently hardcoded here https://github.com/tensorflow/tensorflow/blob/aaa18fec1cba172911259ca7b619fe32e4667fac/tensorflow/tsl/platform/cloud/compute_engine_metadata_client.cc#L28

Expected:
Respect the `GCE_METADATA_IP` env variable to be able to override `http://metadata.google.internal`

Note that TPU client already does this correctly: https://github.com/tensorflow/tensorflow/pull/40317

### Standalone code to reproduce the issue

```shell
export GCE_METADATA_IP=http://127.0.0.1:8000

import tensorflow as tf

tf.io.gfile.listdir("gs://sam-poc")
```


### Relevant log output

_No response_</details>