### CI Link

https://gradle-enterprise.elastic.co/s/752jgoui6up4c/tests/:x-pack:plugin:spatial:test/org.elasticsearch.xpack.spatial.index.query.H3LatLonGeometryTests/testIndexPoints?top-execution=1

### Repro line

`./gradlew ':x-pack:plugin:spatial:test' --tests "org.elasticsearch.xpack.spatial.index.query.H3LatLonGeometryTests.testIndexPoints" -Dtests.seed=DFC1C0965EFCD1EB -Dtests.locale=sr-CS -Dtests.timezone=ECT -Druntime.java=17`

Also failed with various other seeds:
* `-Dtests.seed=DFC1C0965EFCD1EB`
* `-Dtests.seed=72BEB29AA48F2C0B`
* `-Dtests.seed=CAF2A0770CD2CC7E`

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Stockholm&tests.container=org.elasticsearch.xpack.spatial.index.query.H3LatLonGeometryTests&tests.test=testIndexPoints

### Failure excerpt

    java.lang.AssertionError: expected:<81> but was:<82>
x-pack/plugin/spatial/src/internalClusterTest/java/org/elasticsearch/xpack/spatial/search/GeoGridAggAndQueryConsistencyIT.java
}
    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/87391")
    public void testGeoPointGeoHex() throws IOException {
        doTestGeohexGrid(GeoPointFieldMapper.CONTENT_TYPE, GeometryTestUtils::randomPoint);
    }
    public void testGeoShapeGeoHash() throws IOException {
        doTestGeohashGrid(GeoShapeWithDocValuesFieldMapper.CONTENT_TYPE, () -> GeometryTestUtils.randomGeometryWithoutCircle(0, false));
    }
    public void testGeoShapeGeoTile() throws IOException {
        doTestGeotileGrid(
            GeoShapeWithDocValuesFieldMapper.CONTENT_TYPE,
            GeoTileUtils.MAX_ZOOM - 1,
            () -> GeometryTestUtils.randomGeometryWithoutCircle(0, false)
        );
    }
    private void doTestGeohashGrid(String fieldType, Supplier<Geometry> randomGeometriesSupplier) throws IOException {
        doTestGrid(
            1,
            Geohash.PRECISION,
            fieldType,
            (precision, point) -> Geohash.stringEncode(point.getLon(), point.getLat(), precision),
            hash -> toPoints(Geohash.toBoundingBox(hash)),
            Geohash::toBoundingBox,
            GeoHashGridAggregationBuilder::new,
            (s1, s2) -> new GeoGridQueryBuilder(s1).setGridId(GeoGridQueryBuilder.Grid.GEOHASH, s2),
            randomGeometriesSupplier
        );
    }
    private void doTestGeotileGrid(String fieldType, int maxPrecision, Supplier<Geometry> randomGeometriesSupplier) throws IOException {
        doTestGrid(