### Elasticsearch Version

8.x (any version where we have added support for proxies with a GCS repo)

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

N/A

### Problem Description

When configuring a GCS repository with HTTP proxy settings ([doc](https://www.elastic.co/guide/en/elasticsearch/reference/8.0/repository-gcs.html#repository-gcs-client)), we do not pass along the proxy settings to other `HttpTransportOptions` instances that we create. This can lead to timeout errors when the GCS Client tries to get a token, with the following error message:
```
Error getting access token for service account: Connect timed out, iss: ...
```

The workaround is to set the HTTP proxy settings on the JVM level rather than when defining the GCS repository, using `java.net.useSystemProxies` or `http.proxyHost`/`http.proxyPort`.

### Steps to Reproduce

[Setting up a GCS repository](https://www.elastic.co/guide/en/elasticsearch/reference/8.0/repository-gcs.html) with HTTP proxy settings (while every other non-proxied GCP call is blocked) could lead to this issue.

### Logs (if relevant)

_No response_
modules/repository-gcs/src/main/java/org/elasticsearch/repositories/gcs/GoogleCloudStorageClientSettings.java
@Nullable
    private final Proxy proxy;
    GoogleCloudStorageClientSettings(
        final ServiceAccountCredentials credential,
        final String endpoint,
        final String projectId,
        final TimeValue connectTimeout,
        final TimeValue readTimeout,
        final String applicationName,
        final URI tokenUri,
        final Proxy.Type proxyType,
        final String proxyHost,
        final Integer proxyPort
    ) {
        this.credential = credential;
        this.endpoint = endpoint;
        this.projectId = projectId;
        this.connectTimeout = connectTimeout;
        this.readTimeout = readTimeout;
        this.applicationName = applicationName;
        this.tokenUri = tokenUri;
        try {
            proxy = proxyType.equals(Proxy.Type.DIRECT)
                ? null
                : new Proxy(proxyType, new InetSocketAddress(InetAddress.getByName(proxyHost), proxyPort));
        } catch (UnknownHostException e) {
            throw new SettingsException("GCS proxy host is unknown.", e);
        }
    }
    public ServiceAccountCredentials getCredential() {