### 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/TransformFailureHandler.java
* @param numFailureRetries the number of configured retries
     */
    private void handleElasticsearchException(ElasticsearchException elasticsearchException, boolean unattended, int numFailureRetries) {
        if (unattended == false && ExceptionRootCauseFinder.isExceptionIrrecoverable(elasticsearchException)) {
            String message = "task encountered irrecoverable failure: " + elasticsearchException.getDetailedMessage();
            fail(elasticsearchException, message);
        } else {
            retry(elasticsearchException, elasticsearchException.getDetailedMessage(), unattended, numFailureRetries);
        }
    }
    /**
     * Handle a generic illegal argument exception. This is error is irrecoverable.
     * <p>
     * If this exception is caught it is likely a bug somewhere.
     *
     * @param illegalArgumentException IllegalArgumentException thrown
     * @param unattended whether the transform runs in unattended mode
     */
    private void handleIllegalArgumentException(IllegalArgumentException illegalArgumentException, boolean unattended) {
        if (unattended) {
            retry(illegalArgumentException, illegalArgumentException.getMessage(), true, -1);
        } else {
            String message = "task encountered irrecoverable failure: " + illegalArgumentException.getMessage();
            fail(illegalArgumentException, message);
        }
    }
    /**
     * Terminate failure handling with a retry.
     * <p>
     * In case the number of retries are exhausted - and the transform does not run as unattended - the transform