### 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/test/java/org/elasticsearch/xpack/transform/transforms/TransformIndexerFailureOnStatePersistenceTests.java
? new VersionConflictEngineException(new ShardId("index", "indexUUID", 42), "some_id", 45L, 44L, 43L, 42L)
                : new ElasticsearchTimeoutException("timeout");
            TransformConfigManager configManager = new FailingToPutStoredDocTransformConfigManager(Set.of(0, 1, 2, 3), exceptionToThrow);
            try (var threadPool = createThreadPool()) {
                final var client = new NoOpClient(threadPool);
                MockClientTransformIndexer indexer = new MockClientTransformIndexer(
                    mock(ThreadPool.class),
                    new TransformServices(
                        configManager,
                        mock(TransformCheckpointService.class),
                        mock(TransformAuditor.class),
                        new TransformScheduler(Clock.systemUTC(), mock(ThreadPool.class), Settings.EMPTY)
                    ),
                    mock(CheckpointProvider.class),
                    new AtomicReference<>(IndexerState.STOPPED),
                    null,
                    new ParentTaskAssigningClient(client, new TaskId("dummy-node:123456")),
                    mock(TransformIndexerStats.class),
                    config,
                    null,
                    new TransformCheckpoint(
                        "transform",
                        Instant.now().toEpochMilli(),
                        0L,
                        Collections.emptyMap(),
                        Instant.now().toEpochMilli()
                    ),
                    new TransformCheckpoint(
                        "transform",
                        Instant.now().toEpochMilli(),