Similarly to https://github.com/elastic/elasticsearch/pull/97873 but for request handlers: let's stop passing around strings and looking these things up by name on each request when we could just pass around the `Executor` itself.
server/src/main/java/org/elasticsearch/action/support/broadcast/unpromotable/TransportBroadcastUnpromotableAction.java
extends HandledTransportAction<Request, Response> {
    protected final ClusterService clusterService;
    protected final TransportService transportService;
    protected final ShardStateAction shardStateAction;
    protected final String transportUnpromotableAction;
    protected final Executor executor;
    /**
     * Temporary for serverless compatibility. TODO remove.
     */
    protected TransportBroadcastUnpromotableAction(
        String actionName,
        ClusterService clusterService,
        TransportService transportService,
        ShardStateAction shardStateAction,
        ActionFilters actionFilters,
        Writeable.Reader<Request> requestReader,
        String executor
    ) {
        this(
            actionName,
            clusterService,
            transportService,
            shardStateAction,
            actionFilters,
            requestReader,
            transportService.getThreadPool().executor(executor)
        );
    }
    protected TransportBroadcastUnpromotableAction(
        String actionName,