### 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
return true;
    }
    void stopAndMaybeSaveState() {
        synchronized (context) {
            onStop();
            IndexerState state = stop();
            if (indexerThreadShuttingDown) {
                saveStateRequestedDuringIndexerThreadShutdown = true;
                
            } else if (state == IndexerState.STOPPED) {
                doSaveState(IndexerState.STOPPED, getPosition(), () -> {});
            }
        }
    }
    /**
     * Checks the given exception and handles the error based on it.
     *
     * In case the error is permanent or the number for failures exceed the number of retries, sets the indexer
     * to `FAILED`.
     *
     * Important: Might call into TransformTask, this should _only_ be called with an acquired indexer lock if and only if
     * the lock for TransformTask has been acquired, too. See gh#75846
     *
     * (Note: originally this method was synchronized, which is not necessary)
     */
    void handleFailure(Exception e) {
        failureHandler.handleIndexerFailure(e, getConfig().getSettings());
    }
    /**
     * Cleanup old checkpoints