[`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
} finally {
            TestThreadPool.terminate(threadPool, 10, TimeUnit.SECONDS);
        }
    }
    private DesiredNodeWithStatus createActualizedDesiredNode() {
        return new DesiredNodeWithStatus(randomDesiredNode(), DesiredNodeWithStatus.Status.ACTUALIZED);
    }
    private DesiredNodeWithStatus createPendingDesiredNode() {
        return new DesiredNodeWithStatus(randomDesiredNode(), DesiredNodeWithStatus.Status.PENDING);
    }
    private static JoinTask createRandomTask(DiscoveryNode node, long term) {
        return randomBoolean()
            ? JoinTask.singleNode(node, TransportVersion.CURRENT, TEST_REASON, NOT_COMPLETED_LISTENER, term)
            : JoinTask.completingElection(
                Stream.of(new JoinTask.NodeJoinTask(node, TransportVersion.CURRENT, TEST_REASON, NOT_COMPLETED_LISTENER)),
                term
            );
    }
    private static AllocationService createAllocationService() {
        final var allocationService = mock(AllocationService.class);
        when(allocationService.adaptAutoExpandReplicas(any())).then(invocationOnMock -> invocationOnMock.getArguments()[0]);
        when(allocationService.disassociateDeadNodes(any(), anyBoolean(), any())).then(
            invocationOnMock -> invocationOnMock.getArguments()[0]
        );
        return allocationService;
    }
    
    private static final String LOGGER_NAME = "org.elasticsearch.cluster.coordination.NodeJoinExecutor";
}