### 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
for (final String id : toDelete) {
            assertThat(client().prepareDelete(indexName, id).get().getResult(), is(DocWriteResponse.Result.DELETED));
        }
        refresh(indexName);
        final String snapshot3 = "snap-3";
        logger.info("--> creating snapshot 3");
        client().admin().cluster().prepareCreateSnapshot(repo, snapshot3).setIndices(indexName).setWaitForCompletion(true).get();
        logger.info("--> Shutting down new primary node [{}]", newPrimary);
        stopNode(newPrimary);
        ensureYellow(indexName);
        final String snapshot4 = "snap-4";
        logger.info("--> creating snapshot 4");
        client().admin().cluster().prepareCreateSnapshot(repo, snapshot4).setIndices(indexName).setWaitForCompletion(true).get();
        assertTwoIdenticalShardSnapshots(repo, indexName, snapshot3, snapshot4);
        final long countAfterDelete = documentCountOriginal - toDelete.size();
        ensureRestoreSingleShardSuccessfully(repo, indexName, snapshot3, "-copy-3");
        assertCountInIndexThenDelete(indexName + "-copy-3", countAfterDelete);
        ensureRestoreSingleShardSuccessfully(repo, indexName, snapshot4, "-copy-4");
        assertCountInIndexThenDelete(indexName + "-copy-4", countAfterDelete);
    }
    public void testForceMergeCausesFullSnapshot() throws Exception {
        internalCluster().startMasterOnlyNode();
        internalCluster().ensureAtLeastNumDataNodes(2);
        final String indexName = "test-index";
        createIndex(indexName, Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1).build());
        ensureGreen(indexName);
        logger.info("--> adding some documents to test index and flush in between to get at least two segments");
        for (int j = 0; j < 2; j++) {
            final BulkRequest bulkRequest = new BulkRequest();
            for (int i = 0; i < scaledRandomIntBetween(1, 100); ++i) {