### 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/scheduling/TransformScheduledTask.java
* Maximum delay that can be applied after a failure.
     */
    private static final long MAX_DELAY_MILLIS = Duration.ofHours(1).toMillis();
    private final String transformId;
    private final TimeValue frequency;
    private final Long lastTriggeredTimeMillis;
    private final int failureCount;
    private final long nextScheduledTimeMillis;
    private final TransformScheduler.Listener listener;
    TransformScheduledTask(
        String transformId,
        TimeValue frequency,
        Long lastTriggeredTimeMillis,
        int failureCount,
        long nextScheduledTimeMillis,
        TransformScheduler.Listener listener
    ) {
        this.transformId = Objects.requireNonNull(transformId);
        this.frequency = frequency != null ? frequency : Transform.DEFAULT_TRANSFORM_FREQUENCY;
        this.lastTriggeredTimeMillis = lastTriggeredTimeMillis;
        this.failureCount = failureCount;
        this.nextScheduledTimeMillis = nextScheduledTimeMillis;
        this.listener = Objects.requireNonNull(listener);
    }
    TransformScheduledTask(
        String transformId,
        TimeValue frequency,
        Long lastTriggeredTimeMillis,
        int failureCount,
        TransformScheduler.Listener listener