### 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
Settings.builder()
                        .put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, resizedShardCount)
                        .put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 0)
                        .build()
                )
                .setWaitForActiveShards(ActiveShardCount.NONE)
                .setResizeType(resizeType)
                .get()
        );
        
        long requiredSpaceForClone = used * 2 + LOW_WATERMARK_BYTES;
        response = capacity();
        assertThat(response.results().keySet(), equalTo(Set.of(policyName)));
        assertThat(response.results().get(policyName).currentCapacity().total().storage().getBytes(), equalTo(enoughSpace * 2));
        
        assertThat(response.results().get(policyName).requiredCapacity().total().storage().getBytes(), equalTo(enoughSpace * 2));
        assertThat(
            response.results().get(policyName).requiredCapacity().node().storage().getBytes(),
            equalTo(requiredSpaceForClone + ReactiveStorageDeciderService.NODE_DISK_OVERHEAD)
        );
        assertThat(client().admin().cluster().prepareHealth(cloneName).get().getUnassignedShards(), equalTo(resizedShardCount));
        
        
        
        long tooLittleSpaceForClone = requiredSpaceForClone - Math.min(LOW_WATERMARK_BYTES - HIGH_WATERMARK_BYTES, used) - 1;
        assert tooLittleSpaceForClone <= requiredSpaceForClone;
        setTotalSpace(dataNode1Name, tooLittleSpaceForClone);
        assertAcked(client().admin().cluster().prepareReroute());
        assertThat(client().admin().cluster().prepareHealth(cloneName).get().getUnassignedShards(), equalTo(resizedShardCount));
        setTotalSpace(dataNode1Name, requiredSpaceForClone);