### 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
1 - (Math.log10(pageSize) * 0.1)
        );
        int newPageSize = (int) Math.round(reducingFactor * pageSize);
        if (newPageSize < TransformIndexer.MINIMUM_PAGE_SIZE) {
            String message = TransformMessages.getMessage(TransformMessages.LOG_TRANSFORM_PIVOT_LOW_PAGE_SIZE_FAILURE, pageSize);
            if (unattended) {
                retry(circuitBreakingException, message, true, -1);
            } else {
                fail(circuitBreakingException, message);
            }
        } else {
            String message = TransformMessages.getMessage(TransformMessages.LOG_TRANSFORM_PIVOT_REDUCE_PAGE_SIZE, pageSize, newPageSize);
            auditor.info(transformId, message);
            logger.info("[{}] {}", transformId, message);
            context.setPageSize(newPageSize);
        }
    }
    /**
     * Handle script exception case. This is error is irrecoverable.
     *
     * @param scriptException ScriptException thrown
     * @param unattended whether the transform runs in unattended mode
     */
    private void handleScriptException(ScriptException scriptException, boolean unattended) {
        String message = TransformMessages.getMessage(
            TransformMessages.LOG_TRANSFORM_PIVOT_SCRIPT_ERROR,
            scriptException.getDetailedMessage(),
            scriptException.getScriptStack()
        );
        if (unattended) {