### 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
) {
        this(
            transformId,
            frequency,
            lastTriggeredTimeMillis,
            failureCount,
            calculateNextScheduledTime(lastTriggeredTimeMillis, frequency, failureCount),
            listener
        );
    }
    
    /**
     * Calculates the appropriate next scheduled time taking number of failures into account.
     * This method implements exponential backoff approach.
     *
     * @param lastTriggeredTimeMillis the last time (in millis) the task was triggered
     * @param frequency               the frequency of the transform
     * @param failureCount            the number of failures that happened since the task was triggered
     * @return next scheduled time for a task
     */
    static long calculateNextScheduledTime(Long lastTriggeredTimeMillis, TimeValue frequency, int failureCount) {
        final long baseTime = lastTriggeredTimeMillis != null ? lastTriggeredTimeMillis : System.currentTimeMillis();
        if (failureCount == 0) {
            return baseTime + (frequency != null ? frequency : Transform.DEFAULT_TRANSFORM_FREQUENCY).millis();
        }
        
        long delayMillis = Math.min(Math.max((1L << Math.min(failureCount, 32)) * 1000, MIN_DELAY_MILLIS), MAX_DELAY_MILLIS);
        return baseTime + delayMillis;
    }
    String getTransformId() {