[`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/main/java/org/elasticsearch/common/settings/Setting.java
public T getDefault(Settings settings) {
        return parser.apply(getDefaultRaw(settings));
    }
    /**
     * Returns true if and only if this setting is present in the given settings instance. Note that fallback settings are excluded.
     *
     * @param settings the settings
     * @return true if the setting is present in the given settings instance, otherwise false
     */
    public boolean exists(final Settings settings) {
        return exists(settings.keySet(), settings.getSecureSettings());
    }
    public boolean exists(final Settings.Builder builder) {
        return exists(builder.keys(), builder.getSecureSettings());
    }
    private boolean exists(final Set<String> keys, final SecureSettings secureSettings) {
        final String key = getKey();
        return keys.contains(key) && (secureSettings == null || secureSettings.getSettingNames().contains(key) == false);
    }
    /**
     * Returns true if and only if this setting including fallback settings is present in the given settings instance.
     *
     * @param settings the settings
     * @return true if the setting including fallback settings is present in the given settings instance, otherwise false
     */
    public boolean existsOrFallbackExists(final Settings settings) {
        return settings.keySet().contains(getKey()) || (fallbackSetting != null && fallbackSetting.existsOrFallbackExists(settings));
    }
    /**
     * Returns the settings value. If the setting is not present in the given settings object the default value is returned