### Elasticsearch Version

main

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

MacOS

### Problem Description

When there are 2 or more concurrent `_update` requests issued, one of them may fail with `ResourceAlreadyExistsException` exception which is misleading.


### Steps to Reproduce

1. Spawn a number of `_update` requests at the same time
2. Look at the results of these requests
3. Observe `ResourceAlreadyExistsException` being thrown in the case of conflict

### Logs (if relevant)

_No response_
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/persistence/IndexBasedTransformConfigManager.java
/**
     * Expand all transform ids
     *
     * @param filterForOutdated if true, only returns outdated ids (after de-duplication)
     * @param maxResultWindow the max result window size (exposed for testing)
     * @param timeout timeout applied to all the spawned requests
     * @param listener listener to call containing transform ids
     */
    void expandAllTransformIds(
        boolean filterForOutdated,
        int maxResultWindow,
        TimeValue timeout,
        ActionListener<Tuple<Long, Set<String>>> listener
    ) {
        PageParams startPage = new PageParams(0, maxResultWindow);
        Set<String> collectedIds = new HashSet<>();
        recursiveExpandAllTransformIds(collectedIds, 0, filterForOutdated, maxResultWindow, null, startPage, timeout, listener);
    }
    private void recursiveExpandAllTransformIds(
        Set<String> collectedIds,
        long total,
        boolean filterForOutdated,
        int maxResultWindow,
        String lastId,
        PageParams page,
        TimeValue timeout,
        ActionListener<Tuple<Long, Set<String>>> listener
    ) {
        SearchRequest request = client.prepareSearch(
            TransformInternalIndexConstants.INDEX_NAME_PATTERN,