### CI Link

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

### Repro line

./gradlew ':x-pack:plugin:autoscaling:internalClusterTest' --tests "org.elasticsearch.xpack.autoscaling.storage.ReactiveStorageIT.testScaleWhileShrinking" -Dtests.seed=F89DAF53966040FE -Dtests.locale=ar-BH -Dtests.timezone=Europe/Gibraltar -Druntime.java=19

### Does it reproduce?

No

### Applicable branches

main

### Failure history

https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Rome&tests.container=org.elasticsearch.xpack.autoscaling.storage.ReactiveStorageIT&tests.test=testScaleWhileShrinking

### Failure excerpt

```
java.lang.NullPointerException: Cannot invoke "org.elasticsearch.cluster.DiskUsage.getFreeBytes()" because the return value of "java.util.Map.get(Object)" is null
```

It looks like method `getNodeMostAvailableDiskUsages` returns a null value which results in a NPE when calling get on the expected result map.
x-pack/plugin/autoscaling/src/internalClusterTest/java/org/elasticsearch/xpack/autoscaling/storage/ReactiveStorageIT.java
capacity().results().get("warm").requiredCapacity().node().storage().getBytes(),
            Matchers.greaterThan(ReactiveStorageDeciderService.NODE_DISK_OVERHEAD)
        );
        
        assertThat(capacity().results().get("cold").requiredCapacity().total().storage().getBytes(), Matchers.greaterThan(0L));
        assertThat(
            capacity().results().get("cold").requiredCapacity().node().storage().getBytes(),
            Matchers.greaterThan(ReactiveStorageDeciderService.NODE_DISK_OVERHEAD)
        );
    }
    @TestLogging(value = "org.elasticsearch.monitor.fs.FsService:DEBUG", reason = "https://github.com/elastic/elasticsearch/issues/91083")
    public void testScaleWhileShrinking() throws Exception {
        internalCluster().startMasterOnlyNode();
        final String dataNode1Name = internalCluster().startDataOnlyNode();
        final String dataNode2Name = internalCluster().startDataOnlyNode();
        final String dataNode1Id = internalCluster().getInstance(TransportService.class, dataNode1Name).getLocalNode().getId();
        final String dataNode2Id = internalCluster().getInstance(TransportService.class, dataNode2Name).getLocalNode().getId();
        final String policyName = "test";
        putAutoscalingPolicy(policyName, "data");
        final String indexName = randomAlphaOfLength(10).toLowerCase(Locale.ROOT);
        createIndex(
            indexName,
            Settings.builder()
                .put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0)
                .put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 6)
                .put(INDEX_STORE_STATS_REFRESH_INTERVAL_SETTING.getKey(), "0ms")
                .build()
        );
        indexRandom(
            true,