### 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
final String indexName = "test";
        
        assertAcked(prepareCreate(indexName).setSettings(indexSettingsNoReplicas(1).put(MergePolicyConfig.INDEX_MERGE_ENABLED, "false")));
        
        createFullSnapshot(repoName, "empty");
        
        long id = 0;
        final int rounds = scaledRandomIntBetween(3, 5);
        for (int i = 0; i < rounds; ++i) {
            final int numDocs = scaledRandomIntBetween(100, 1000);
            BulkRequestBuilder request = client().prepareBulk().setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
            for (int j = 0; j < numDocs; ++j) {
                request.add(
                    Requests.indexRequest(indexName)
                        .id(Long.toString(id++))
                        .source(jsonBuilder().startObject().field("l", randomLong()).endObject())
                );
            }
            assertNoFailures(request.get());
        }
        
        final SnapshotInfo before = createFullSnapshot(repoName, "snapshot-before");
        final SnapshotInfo.IndexSnapshotDetails beforeIndexDetails = before.indexSnapshotDetails().get(indexName);
        final long beforeSegmentCount = beforeIndexDetails.getMaxSegmentsPerShard();
        
        assertAcked(admin().indices().prepareClose(indexName).get());
        assertAcked(
            admin().indices()
                .prepareUpdateSettings(indexName)
                .setSettings(