### CI Link

https://gradle-enterprise.elastic.co/s/ff35boj3dy3qo/tests/:qa:rolling-upgrade:v8.2.0%23oneThirdUpgradedTest/org.elasticsearch.upgrades.DesiredNodesUpgradeIT/testUpgradeDesiredNodes

### Repro line

`./gradlew ':qa:rolling-upgrade:v8.2.0#oneThirdUpgradedTest' -Dtests.class="org.elasticsearch.upgrades.DesiredNodesUpgradeIT" -Dtests.method="testUpgradeDesiredNodes" -Dtests.seed=E0D4B6781946820C -Dtests.bwc=true -Dtests.locale=it-IT -Dtests.timezone=America/Sao_Paulo -Druntime.java=17`

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Berlin&tests.container=org.elasticsearch.upgrades.DesiredNodesUpgradeIT&tests.test=testUpgradeDesiredNodes#

### Failure excerpt

```
junit.framework.AssertionFailedError: Expected exception ResponseException but no exception was thrown	
	at __randomizedtesting.SeedInfo.seed([E0D4B6781946820C:9680725C48C340A9]:0)	
	at org.apache.lucene.tests.util.LuceneTestCase.expectThrows(LuceneTestCase.java:2854)	
	at org.apache.lucene.tests.util.LuceneTestCase.expectThrows(LuceneTestCase.java:2840)	
	at org.elasticsearch.upgrades.DesiredNodesUpgradeIT.assertDesiredNodesWithFloatProcessorsAreRejectedInOlderVersions(DesiredNodesUpgradeIT.java:117)	
	at org.elasticsearch.upgrades.DesiredNodesUpgradeIT.testUpgradeDesiredNodes(DesiredNodesUpgradeIT.java:51)
```
qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/DesiredNodesUpgradeIT.java
final var desiredNodes = getNodeNames().stream()
            .map(
                nodeName -> new DesiredNode(
                    Settings.builder().put(NODE_NAME_SETTING.getKey(), nodeName).build(),
                    1238.49922909,
                    ByteSizeValue.ofGb(32),
                    ByteSizeValue.ofGb(128),
                    Version.CURRENT
                )
            )
            .toList();
        final int desiredNodesVersion = switch (CLUSTER_TYPE) {
            case OLD -> 1;
            case MIXED -> FIRST_MIXED_ROUND ? 2 : 3;
            case UPGRADED -> 4;
        };
        if (CLUSTER_TYPE != ClusterType.OLD) {
            updateDesiredNodes(desiredNodes, desiredNodesVersion - 1);
        }
        for (int i = 0; i < 2; i++) {
            updateDesiredNodes(desiredNodes, desiredNodesVersion);
        }
        final Map<String, Object> latestDesiredNodes = getLatestDesiredNodes();
        final int latestDesiredNodesVersion = extractValue(latestDesiredNodes, "version");
        assertThat(latestDesiredNodesVersion, is(equalTo(desiredNodesVersion)));
        if (CLUSTER_TYPE == ClusterType.UPGRADED) {
            assertAllDesiredNodesAreActualized();
        }