### What happened?

I'm sorry I didn't weigh in on #11277 before it was merged. I'm thinking of this specifically for how to get this properly consumed by the bindings as per #11443 

2 things to bring the grid code more in line with other endpoints.
1. Use POST if there is info to send to an endpoint instead of query string
2. Return payload needs to be nested inside a `value` key.

Current implementation of file endpoint is:
```
POST /session/:sessionId:/se/file
file: <zippedFile>
```

To minimize confusion, I think the new feature should use `files` instead of `file`:
```
POST /session/:sessionId:/se/files
{fileName: <filename>}
```
and for #11458 
```
GET /session/:sessionId:/se/files
```

### How can we reproduce the issue?

```shell
n/a
```


### Relevant log output

```shell
n/a
```


### Operating System

n/a

### Selenium version

trunk

### What are the browser(s) and version(s) where you see this issue?

n/a

### What are the browser driver(s) and version(s) where you see this issue?

n/a

### Are you using Selenium Grid?

trunk
span.setAttribute(AttributeKey.DOWNSTREAM_DIALECT.getKey(), downstream);
        span.setAttribute(AttributeKey.UPSTREAM_DIALECT.getKey(), upstream);
        span.setAttribute(AttributeKey.SESSION_URI.getKey(), sessionUri);
        
        
        Session externalSession = createExternalSession(
          session,
          externalUri,
          slotToUse.isSupportingCdp(),
          slotToUse.isSupportingBiDi(),
          sessionRequest.getDesiredCapabilities());
        String sessionCreatedMessage = "Session created by the Node";
        LOG.info(String.format("%s. Id: %s, Caps: %s", sessionCreatedMessage, sessionId, caps));
        return Either.right(new CreateSessionResponse(
          externalSession,
          getEncoder(session.getDownstreamDialect()).apply(externalSession)));
      } else {
        slotToUse.release();
        span.setAttribute(AttributeKey.ERROR.getKey(), true);
        span.setStatus(Status.ABORTED);
        span.addEvent("Unable to create session with the driver", attributeMap);
        return Either.left(possibleSession.left());
      }
    }
  }
  @Override
  public boolean isSessionOwner(SessionId id) {
    Require.nonNull("Session ID", id);
    return currentSessions.getIfPresent(id) != null;
  }