### Description

Currently, when we execute retention policy, we also refresh the destination index by setting:
```
setRefresh(true)
```
on the DBQ request.
This can cause permission errors which are surprising to the user as the permissions are not required when the transform starts:
```
task encountered irrecoverable failure: org.elasticsearch.ElasticsearchSecurityException: action [indices:admin/refresh] is unauthorized for user [found-internal-kibana4-server] with roles [kibana_system,found-internal-kibana4-server] on indices [logs-cloud_security_posture.findings_latest-default], this action is granted by the index privileges [maintenance,manage,all]
```

We still want the user to have the permissions to delete the documents. But we should execute `refresh` as the system user.
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/TransformIndexer.java
@Override
    public boolean maybeTriggerAsyncJob(long now) {
        
        if (context.getTaskState() == TransformTaskState.FAILED) {
            logger.debug("[{}] schedule was triggered for transform but task is failed. Ignoring trigger.", getJobId());
            return false;
        }
        synchronized (context) {
            
            IndexerState indexerState = getState();
            if (IndexerState.INDEXING.equals(indexerState) || IndexerState.STOPPING.equals(indexerState)) {
                logger.debug("[{}] indexer for transform has state [{}]. Ignoring trigger.", getJobId(), indexerState);
                return false;
            }
            /*
             * ignore if indexer thread is shutting down (after finishing a checkpoint)
             * shutting down means:
             *  - indexer has finished a checkpoint and called onFinish
             *  - indexer state has changed from indexing to started
             *  - state persistence has been called but has _not_ returned yet
             *
             *  If we trigger the indexer in this situation the 2nd indexer thread might
             *  try to save state at the same time, causing a version conflict
             *  see gh#67121
             */
            if (indexerThreadShuttingDown) {
                logger.debug("[{}] indexer thread is shutting down. Ignoring trigger.", getJobId());
                return false;
            }
            return super.maybeTriggerAsyncJob(now);