### 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
public static double calculateMAD(int[] sample) {
            return calculateMAD(Arrays.stream(sample).mapToDouble(point -> (double) point).toArray());
        }
        public static double calculateMAD(long[] sample) {
            return calculateMAD(Arrays.stream(sample).mapToDouble(point -> (double) point).toArray());
        }
        public static double calculateMAD(List<Long> sample) {
            return calculateMAD(sample.stream().mapToDouble(Long::doubleValue).toArray());
        }
        public static double calculateMAD(double[] sample) {
            final double median = calculateMedian(sample);
            final double[] deviations = Arrays.stream(sample).map(point -> Math.abs(median - point)).toArray();
            return calculateMedian(deviations);
        }
        private static double calculateMedian(double[] sample) {
            final double[] sorted = Arrays.copyOf(sample, sample.length);
            Arrays.sort(sorted);
            final int halfway = (int) Math.ceil(sorted.length / 2d);