### Elasticsearch Version

main

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

MacOS

### Problem Description

Currently, transform state persistence failures are being retried with a constant interval (`60s`).
This is different to how other types of errors are retried (exponential backoff).
We should implement exponential backoff for state persistence failures too.

### Steps to Reproduce

n/a

### Logs (if relevant)

_No response_
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/TransformIndexer.java
private void startIndexerThreadShutdown() {
        synchronized (context) {
            indexerThreadShuttingDown = true;
            saveStateRequestedDuringIndexerThreadShutdown = false;
        }
    }
    private void finishIndexerThreadShutdown() {
        synchronized (context) {
            indexerThreadShuttingDown = false;
            if (saveStateRequestedDuringIndexerThreadShutdown) {
                
                
                if (context.shouldStopAtCheckpoint() && nextCheckpoint == null) {
                    stop();
                }
                doSaveState(getState(), getPosition(), () -> {});
            }
        }
    }
    /**
     * Thrown when the transform configuration disappeared permanently.
     * (not if reloading failed due to an intermittent problem)
     */
    static class TransformConfigLostOnReloadException extends ResourceNotFoundException {
        TransformConfigLostOnReloadException(String msg, Throwable cause, Object... args) {
            super(msg, cause, args);
        }
    }
}