### CI Link

https://gradle-enterprise.elastic.co/s/u2lcxs24nfi2q/tests/:x-pack:qa:full-cluster-restart:v8.4.3%23bwcTest/org.elasticsearch.xpack.restart.MLModelDeploymentFullClusterRestartIT/testDeploymentSurvivesRestart%20%7Bcluster=UPGRADED%7D?expanded-stacktrace=WyIwIl0&page=eyJvdXRwdXQiOnsiMCI6MX19&top-execution=1

### Repro line

./gradlew ':x-pack:qa:full-cluster-restart:v8.4.3#bwcTest' -Dtests.class="org.elasticsearch.xpack.restart.MLModelDeploymentFullClusterRestartIT" -Dtests.method="testDeploymentSurvivesRestart {cluster=UPGRADED}" -Dtests.seed=498A9316A1FD5CFF -Dtests.bwc=true -Dtests.locale=cs-CZ -Dtests.timezone=Asia/Yangon -Druntime.java=17

### Does it reproduce?

No

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

{"error":{"root_cause":[{"type":"status_exception","reason":"Trained model [trained-model-full-cluster-restart] is not initialized"}],"type":"status_exception","reason":"Trained model [trained-model-full-cluster-restart] is not initialized","caused_by":{"type":"status_exception","reason":"Trained model [trained-model-full-cluster-restart] is not initialized"}},"status":409} 


at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:347) 
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:313)  
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:288)  
at org.elasticsearch.xpack.restart.MLModelDeploymentFullClusterRestartIT.infer(MLModelDeploymentFullClusterRestartIT.java:220) at org.elasticsearch.xpack.restart.MLModelDeploymentFullClusterRestartIT.assertInfer(MLModelDeploymentFullClusterRestartIT.java:132) at org.elasticsearch.xpack.restart.MLModelDeploymentFullClusterRestartIT.testDeploymentSurvivesRestart(MLModelDeploymentFullClusterRestartIT.java:108)


x-pack/qa/full-cluster-restart/src/javaRestTest/java/org/elasticsearch/xpack/restart/MLModelDeploymentFullClusterRestartIT.java
}
    @Before
    public void setLogging() throws IOException {
        Request loggingSettings = new Request("PUT", "_cluster/settings");
        loggingSettings.setJsonEntity("""
            {"persistent" : {
                    "logger.org.elasticsearch.xpack.ml.inference.assignment" : "TRACE",
                    "logger.org.elasticsearch.xpack.ml.process.assignment.planning" : "TRACE",
                    "logger.org.elasticsearch.xpack.ml.inference.deployment" : "TRACE",
                    "logger.org.elasticsearch.xpack.ml.process.logging" : "TRACE"
                }}""");
        client().performRequest(loggingSettings);
    }
    @Override
    protected Settings restClientSettings() {
        String token = "Basic " + Base64.getEncoder().encodeToString("test_user:x-pack-test-password".getBytes(StandardCharsets.UTF_8));
        return Settings.builder().put(ThreadContext.PREFIX + ".Authorization", token).build();
    }
    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/93325")
    public void testDeploymentSurvivesRestart() throws Exception {
        assumeTrue("NLP model deployments added in 8.0", getOldClusterVersion().onOrAfter(Version.V_8_0_0));
        String modelId = "trained-model-full-cluster-restart";
        if (isRunningAgainstOldCluster()) {
            createTrainedModel(modelId);
            putModelDefinition(modelId);
            putVocabulary(List.of("these", "are", "my", "words"), modelId);
            startDeployment(modelId);
            assertInfer(modelId);
        } else {
            ensureHealth(".ml-inference-*,.ml-config*", (request -> {