### CI Link

https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+pull-request+part-1/37011/

### Repro line

./gradlew 'null' --tests "org.elasticsearch.search.aggregations.metrics.MedianAbsoluteDeviationAggregatorTests.testQueryFiltering" -Dtests.seed=AB1022A12018B138 -Dtests.locale=fr-CA -Dtests.timezone=Asia/Amman -Druntime.java=20

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

java.lang.AssertionError: 
Expected: within <10.0> percent of <125.0>
     but: was <103.56692363555098>
Expected :within <10.0> percent of <125.0>
Actual   :<103.56692363555098>

	at __randomizedtesting.SeedInfo.seed([AB1022A12018B138:6F79CE6D4F544F21]:0)
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
	at org.junit.Assert.assertThat(Assert.java:956)
	at org.junit.Assert.assertThat(Assert.java:923)
	at org.elasticsearch.search.aggregations.metrics.MedianAbsoluteDeviationAggregatorTests.lambda$testQueryFiltering$11(MedianAbsoluteDeviationAggregatorTests.java:130)
	at org.elasticsearch.search.aggregations.AggregatorTestCase.testCase(AggregatorTestCase.java:699)
	at org.elasticsearch.search.aggregations.metrics.MedianAbsoluteDeviationAggregatorTests.testAggregation(MedianAbsoluteDeviationAggregatorTests.java:233)
	at org.elasticsearch.search.aggregations.metrics.MedianAbsoluteDeviationAggregatorTests.testAggregation(MedianAbsoluteDeviationAggregatorTests.java:223)
	at org.elasticsearch.search.aggregations.metrics.MedianAbsoluteDeviationAggregatorTests.testQueryFiltering(MedianAbsoluteDeviationAggregatorTests.java:125)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
server/src/test/java/org/elasticsearch/search/aggregations/metrics/MedianAbsoluteDeviationAggregatorTests.java
int size,
        Function<Long, Iterable<T>> field
    ) {
        return writer -> {
            for (int i = 0; i < size; i++) {
                final long point = randomLongBetween(SAMPLE_MIN, SAMPLE_MAX);
                Iterable<T> document = field.apply(point);
                writer.addDocument(document);
            }
        };
    }
    
    public void testNoDocs() throws IOException {
        testAggregation(new MatchAllDocsQuery(), writer -> {}, agg -> {
            assertThat(agg.getMedianAbsoluteDeviation(), equalTo(Double.NaN));
            assertFalse(AggregationInspectionHelper.hasValue(agg));
        });
    }
    public void testNoMatchingField() throws IOException {
        testAggregation(new MatchAllDocsQuery(), writer -> {
            writer.addDocument(singleton(new SortedNumericDocValuesField("wrong_number", 1)));
            writer.addDocument(singleton(new SortedNumericDocValuesField("wrong_number", 2)));
        }, agg -> {
            assertThat(agg.getMedianAbsoluteDeviation(), equalTo(Double.NaN));
            assertFalse(AggregationInspectionHelper.hasValue(agg));
        });
    }
    public void testSomeMatchesSortedNumericDocValues() throws IOException {
        final int size = randomIntBetween(100, 1000);
        final List<Long> sample = new ArrayList<>(size);