In https://github.com/elastic/elasticsearch/pull/88639 we introduced a new setting that allows configuring a maximum headroom in disk watermarks that helps reducing the waste of disk space in large disks. The disk health indicator should take that new setting into account to avoid reporting issues when there's still room for new data in the cluster. 

https://github.com/elastic/elasticsearch/blob/6ec31ed1533e6aaf8fc6dabda5e419f5dce984fa/server/src/main/java/org/elasticsearch/health/metadata/HealthMetadata.java#L193-L199

Those calls should take into account the available max headroom.
server/src/main/java/org/elasticsearch/health/metadata/HealthMetadata.java
this.frozenFloodStageWatermark = disk.frozenFloodStageWatermark;
                this.frozenFloodStageMaxHeadroom = disk.frozenFloodStageMaxHeadroom;
            }
            private Builder() {}
            public Disk.Builder highWatermark(RelativeByteSizeValue highWatermark) {
                this.highWatermark = highWatermark;
                return this;
            }
            public Disk.Builder highWatermark(String highWatermark, String setting) {
                return highWatermark(RelativeByteSizeValue.parseRelativeByteSizeValue(highWatermark, setting));
            }
            public Disk.Builder highMaxHeadroom(ByteSizeValue highMaxHeadroom) {
                this.highMaxHeadroom = highMaxHeadroom;
                return this;
            }
            public Disk.Builder highMaxHeadroom(String highMaxHeadroom, String setting) {
                return highMaxHeadroom(ByteSizeValue.parseBytesSizeValue(highMaxHeadroom, setting));
            }
            public Disk.Builder floodStageWatermark(RelativeByteSizeValue floodStageWatermark) {
                this.floodStageWatermark = floodStageWatermark;
                return this;
            }
            public Disk.Builder floodStageWatermark(String floodStageWatermark, String setting) {
                return floodStageWatermark(RelativeByteSizeValue.parseRelativeByteSizeValue(floodStageWatermark, setting));
            }
            public Disk.Builder floodStageMaxHeadroom(ByteSizeValue floodStageMaxHeadroom) {
                this.floodStageMaxHeadroom = floodStageMaxHeadroom;
                return this;
            }
            public Disk.Builder floodStageMaxHeadroom(String floodStageMaxHeadroom, String setting) {