Since #87849 and #88534 it is possible that anomaly detection jobs and datafeeds will encounter the `aggregate_metric_double` type.

We need to investigate how this will affect certain aspects of their behaviour:

1. Specifying detector fields when the datafeed is using an aggregation
2. Specifying detector fields when the datafeed is not using an aggregation
3. Ability to switch a datafeed between using an aggregation and not using an aggregation without deleting and recreating the job
4. Correct identification of whether to use `_source` or doc values to get values from `aggregate_metric_double` fields
5. How to appropriately set `summary_count_field` when using `aggregate_metric_double`

Based on this investigation decide what changes we should make to either code or documentation.
x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/datafeed/extractor/scroll/ScrollDataExtractorFactory.java
this.job = Objects.requireNonNull(job);
        this.extractedFields = Objects.requireNonNull(extractedFields);
        this.xContentRegistry = xContentRegistry;
        this.timingStatsReporter = Objects.requireNonNull(timingStatsReporter);
    }
    @Override
    public DataExtractor newExtractor(long start, long end) {
        return buildExtractor(start, end, datafeedConfig.getParsedQuery(xContentRegistry));
    }
    @Override
    public DataExtractor newExtractor(long start, long end, QueryBuilder queryBuilder) {
        return buildExtractor(
            start,
            end,
            QueryBuilders.boolQuery().filter(datafeedConfig.getParsedQuery(xContentRegistry)).filter(queryBuilder)
        );
    }
    private DataExtractor buildExtractor(long start, long end, QueryBuilder queryBuilder) {
        ScrollDataExtractorContext dataExtractorContext = new ScrollDataExtractorContext(
            job.getId(),
            extractedFields,
            datafeedConfig.getIndices(),
            queryBuilder,
            datafeedConfig.getScriptFields(),
            datafeedConfig.getScrollSize(),
            start,
            end,
            datafeedConfig.getHeaders(),
            datafeedConfig.getIndicesOptions(),
            datafeedConfig.getRuntimeMappings()