### 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
bulkRequest.add(new IndexRequest(indexName).source("foo" + j, "bar" + i));
            }
            client().bulk(bulkRequest).get();
            flushAndRefresh(indexName);
        }
        final IndexStats indexStats = client().admin().indices().prepareStats(indexName).get().getIndex(indexName);
        assertThat(indexStats.getIndexShards().get(0).getPrimary().getSegments().getCount(), greaterThan(1L));
        final String snapshot1 = "snap-1";
        final String repo = "test-repo";
        createRepository(repo, "fs");
        logger.info("--> creating snapshot 1");
        client().admin().cluster().prepareCreateSnapshot(repo, snapshot1).setIndices(indexName).setWaitForCompletion(true).get();
        logger.info("--> force merging down to a single segment");
        final ForceMergeResponse forceMergeResponse = client().admin()
            .indices()
            .prepareForceMerge(indexName)
            .setMaxNumSegments(1)
            .setFlush(true)
            .get();
        assertThat(forceMergeResponse.getFailedShards(), is(0));
        final String snapshot2 = "snap-2";
        logger.info("--> creating snapshot 2");
        client().admin().cluster().prepareCreateSnapshot(repo, snapshot2).setIndices(indexName).setWaitForCompletion(true).get();
        logger.info("--> asserting that the two snapshots refer to different files in the repository");
        final SnapshotStats secondSnapshotShardStatus = getStats(repo, snapshot2).getIndices().get(indexName).getShards().get(0).getStats();
        assertThat(secondSnapshotShardStatus.getIncrementalFileCount(), greaterThan(0));
    }
    public void testRecordCorrectSegmentCountsWithBackgroundMerges() throws Exception {
        final String repoName = "test-repo";
        createRepository(repoName, "fs");