### 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
/**
     * Builds a predicate that tests whether a system index should be accessible for a given ThreadContext. We allow guaranteed (that is,
     * non-deprecated) external access to system indices based on special request headers in addition to security roles. If those
     * headers are present and provide a product name with access to the index, they will be added to the thread context and checked
     * here. Without these headers, we will add deprecation warnings to the response. In future versions, we will deny access altogether.
     * @param threadContext the threadContext containing headers used for system index access
     * @return Predicate to check external system index names with
     */
    public Predicate<String> getProductSystemIndexNamePredicate(ThreadContext threadContext) {
        final String product = threadContext.getHeader(EXTERNAL_SYSTEM_INDEX_ACCESS_CONTROL_HEADER_KEY);
        if (product == null) {
            return name -> false;
        }
        final CharacterRunAutomaton automaton = productToSystemIndicesMatcher.get(product);
        if (automaton == null) {
            return name -> false;
        }
        return automaton::run;
    }
    /**
     * Get a set of feature names. This is useful for checking whether particular
     * features are present on the node.
     * @return A set of all feature names
     */
    public Set<String> getFeatureNames() {
        return Set.copyOf(featureDescriptors.keySet());
    }
    /**
     * Get a feature by name.
     * @param name Name of a feature.