### CI Link

https://gradle-enterprise.elastic.co/s/pzjicoqh7nuhq

### Repro line

./gradlew ':server:internalClusterTest' --tests "org.elasticsearch.snapshots.BlobStoreIncrementalityIT.testRecordCorrectSegmentCountsWithBackgroundMerges" -Dtests.seed=DEA1040A4A18200C -Dtests.locale=ar-KW -Dtests.timezone=Etc/Universal -Druntime.java=17

### Does it reproduce?

Yes

### Applicable branches

main, 8.4

### Failure history

First time it fails in the last 7 days: https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Bucharest&tests.container=org.elasticsearch.snapshots.BlobStoreIncrementalityIT&tests.test=testRecordCorrectSegmentCountsWithBackgroundMerges

### Failure excerpt

```
org.elasticsearch.snapshots.BlobStoreIncrementalityIT > testRecordCorrectSegmentCountsWithBackgroundMerges FAILED
    java.lang.AssertionError: 
    Expected: a value less than <3L>
         but: <3L> was equal to <3L>
        at __randomizedtesting.SeedInfo.seed([DEA1040A4A18200C:C81912C0892C8B7B]: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.snapshots.BlobStoreIncrementalityIT.lambda$testRecordCorrectSegmentCountsWithBackgroundMerges$0(BlobStoreIncrementalityIT.java:236)
        at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:1104)
        at org.elasticsearch.snapshots.BlobStoreIncrementalityIT.testRecordCorrectSegmentCountsWithBackgroundMerges(BlobStoreIncrementalityIT.java:234)
```
server/src/internalClusterTest/java/org/elasticsearch/snapshots/BlobStoreIncrementalityIT.java
Settings.builder()
                        .put(MergePolicyConfig.INDEX_MERGE_POLICY_SEGMENTS_PER_TIER_SETTING.getKey(), "2")
                        .put(MergePolicyConfig.INDEX_MERGE_ENABLED, "true")
                )
        );
        assertAcked(admin().indices().prepareOpen(indexName).get());
        assertEquals(0, admin().indices().prepareForceMerge(indexName).setFlush(true).get().getFailedShards());
        
        assertBusy(() -> {
            IndicesStatsResponse stats = client().admin().indices().prepareStats(indexName).setSegments(true).get();
            assertThat(stats.getIndex(indexName).getPrimaries().getSegments().getCount(), lessThan(beforeSegmentCount));
        }, 30L, TimeUnit.SECONDS);
        final SnapshotInfo after = createFullSnapshot(repoName, "snapshot-after");
        final int incrementalFileCount = clusterAdmin().prepareSnapshotStatus()
            .setRepository(repoName)
            .setSnapshots(after.snapshotId().getName())
            .get()
            .getSnapshots()
            .get(0)
            .getStats()
            .getIncrementalFileCount();
        assertEquals(0, incrementalFileCount);
        logger.info("--> no files have changed between snapshots, asserting that segment counts are constant as well");
        final SnapshotInfo.IndexSnapshotDetails afterIndexDetails = after.indexSnapshotDetails().get(indexName);
        assertEquals(beforeSegmentCount, afterIndexDetails.getMaxSegmentsPerShard());
    }
    private void assertCountInIndexThenDelete(String index, long expectedCount) {
        logger.info("--> asserting that index [{}] contains [{}] documents", index, expectedCount);
        assertDocCount(index, expectedCount);
        logger.info("--> deleting index [{}]", index);