[`Setting.versionSetting`](https://github.com/elastic/elasticsearch/blob/0652a5915586abbcdfdfffa91a391740f0147752/server/src/main/java/org/elasticsearch/common/settings/Setting.java#L1275) (only used by index compatibility setting) does not use the `Validator` passed in - its just discarded. Looks like it's been like this since it was introduced by https://github.com/elastic/elasticsearch/pull/83264 in 8.2.0.

Enabling this causes some tests to fail. Enabling this may cause problems for indexes that have a wonky setting already applied.
server/src/test/java/org/elasticsearch/cluster/coordination/NodeJoinExecutorTests.java
assertFalse(afterElectionClusterState.blocks().hasGlobalBlock(NoMasterBlockService.NO_MASTER_BLOCK_ALL));
        assertThat(
            "existing node should be replaced by new one in an election",
            afterElectionClusterState.nodes().get(otherNodeOld.getId()).getEphemeralId(),
            equalTo(otherNodeNew.getEphemeralId())
        );
        assertThat(
            "existing node should not be replaced if not completing an election",
            ClusterStateTaskExecutorUtils.executeAndAssertSuccessful(
                afterElectionClusterState,
                executor,
                List.of(
                    JoinTask.singleNode(masterNode, TransportVersion.CURRENT, TEST_REASON, NOT_COMPLETED_LISTENER, executorTerm),
                    JoinTask.singleNode(otherNodeOld, TransportVersion.CURRENT, TEST_REASON, NOT_COMPLETED_LISTENER, executorTerm)
                )
            ).nodes().get(otherNodeNew.getId()).getEphemeralId(),
            equalTo(otherNodeNew.getEphemeralId())
        );
    }
    public void testUpdatesVotingConfigExclusionsIfNeeded() throws Exception {
        final var allocationService = createAllocationService();
        final RerouteService rerouteService = (reason, priority, listener) -> listener.onResponse(null);
        final long executorTerm = randomLongBetween(1, Long.MAX_VALUE);
        final var executor = new NodeJoinExecutor(allocationService, rerouteService);
        final var masterNode = TestDiscoveryNode.create(UUIDs.randomBase64UUID(random()));
        final var otherNode = new DiscoveryNode(
            UUIDs.randomBase64UUID(random()),
            UUIDs.randomBase64UUID(random()),
            buildNewFakeTransportAddress(),
            Map.of(),