### Elasticsearch Version

8.3

### Installed Plugins

_No response_

### Java Version

_bundled_

### OS Version

any

### Problem Description

Calling POST _features/_reset should reset all system indices, provided the user calling the API has a 'superuser' role or at least cluster 'manage' role.

However, the code that handles calling the individual system index reset operations isn't properly passing the ORIGIN header value, therefore many of the system index reset operations are rejected. 

### Steps to Reproduce

Simplest way to reproduce is to add a security role of any kind, causing the security index to be created and then attempt to call POST _features/_reset with a superuser.

### Logs (if relevant)

_No response_
server/src/main/java/org/elasticsearch/indices/SystemIndices.java
return new IllegalArgumentException(
                "Data stream(s) " + Arrays.toString(dataStreamNames) + " may not be accessed by product [" + product + "]"
            );
        }
    }
    /**
     * Determines what level of system index access should be allowed in the current context. For system data streams and "net-new" system
     * indices (see {@link SystemIndexDescriptor#isNetNew()}), access levels should be used to reject requests entirely. For non-net-new,
     * backwards-compatible system indices, these access levels should be used for deprecation warnings.
     *
     * @param threadContext the current thread context that has headers associated with the current request
     * @return {@link SystemIndexAccessLevel#ALL} if unrestricted system index access should be allowed,
     * {@link SystemIndexAccessLevel#RESTRICTED} if a subset of system index access should be allowed, or
     * {@link SystemIndexAccessLevel#NONE} if no system index access should be allowed.
     */
    public static SystemIndexAccessLevel getSystemIndexAccessLevel(ThreadContext threadContext) {
        // This method intentionally cannot return BACKWARDS_COMPATIBLE_ONLY - that access level should only be used manually
        // in known special cases.
        final String headerValue = threadContext.getHeader(SYSTEM_INDEX_ACCESS_CONTROL_HEADER_KEY);
        final String productHeaderValue = threadContext.getHeader(EXTERNAL_SYSTEM_INDEX_ACCESS_CONTROL_HEADER_KEY);
        final boolean allowed = Booleans.parseBoolean(headerValue, true);
        if (allowed) {
            if (productHeaderValue != null) {
                return SystemIndexAccessLevel.RESTRICTED;
            } else {
                return SystemIndexAccessLevel.ALL;
            }
        } else {
            return SystemIndexAccessLevel.NONE;
        }