### Elasticsearch Version

8.2.3

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

Elastic Cloud

### Problem Description

On our Cross Cluster Search primary cluster we have several Machine Learning jobs and Datafeeds using the data on the remote clusters. This worked fine in 7.X, but it appears that they are all in a closed state in 8.2.3 due to the `_has_privileges` api check failing on the remote clusters. We are unable to create new datafeeds using the CCS configuration. It is a known issue that `_has_privileges` does not work on remote CCS cluster indices so at this time Machine Learning does not support CCS due to this API check.
https://github.com/elastic/elasticsearch/issues/67798

### Steps to Reproduce

Create multiple clusters and configure them to use Cross Cluster Search. On the primary cluster create a Machine Learning job and datafeed referencing the remote cluster. The Machine Learning job will fail the permissions check when creating a new datafeed.

### Logs (if relevant)

_No response_
x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedManager.java
updatedConfig -> listener.onResponse(new PutDatafeedAction.Response(updatedConfig)),
                    listener::onFailure
                )
            );
        });
        
        
        ElasticsearchMappings.addDocMappingIfMissing(
            MlConfigIndex.indexName(),
            MlConfigIndex::mapping,
            client,
            state,
            request.masterNodeTimeout(),
            ActionListener.wrap(bool -> doUpdate.run(), listener::onFailure)
        );
    }
    public void deleteDatafeed(DeleteDatafeedAction.Request request, ClusterState state, ActionListener<AcknowledgedResponse> listener) {
        if (getDatafeedTask(state, request.getDatafeedId()) != null) {
            listener.onFailure(
                ExceptionsHelper.conflictStatusException(
                    Messages.getMessage(Messages.DATAFEED_CANNOT_DELETE_IN_CURRENT_STATE, request.getDatafeedId(), DatafeedState.STARTED)
                )
            );
            return;
        }
        String datafeedId = request.getDatafeedId();
        datafeedConfigProvider.getDatafeedConfig(datafeedId, null, ActionListener.wrap(datafeedConfigBuilder -> {
            String jobId = datafeedConfigBuilder.build().getJobId();
            JobDataDeleter jobDataDeleter = new JobDataDeleter(client, jobId);
            jobDataDeleter.deleteDatafeedTimingStats(