v4.2 regression: `variables: null` (etc) should be allowed
## Description

When running `rover dev` on a subgraph using Apollo Server 4, I get error `[E004]`.

### Steps to reproduce

1. Clone https://github.com/apollographql-education/lift-off-supergraph-demo-users 
2. On the `main` branch, run `npm i` and `npm start`.
3. In another terminal, run `rover dev --url http://localhost:4002 --name users`.
4. This should work perfectly, can query the router through Sandbox. The `main` branch uses Apollo Server 3. 

Now let's try Apollo Server 4.

1. Stop any running processes from above.
2. Checkout the `upgrade/as4` branch.
3. Run `npm i` and `npm start`
4. In another terminal, run `rover dev --url http://localhost:4002 --name users`.

### Expected result

Rover dev works correctly, as in the first AS3 example. The local router runs, able to query the router through Sandbox on port 3000.

### Actual result

```
rover dev --url http://localhost:4002 --name users
WARN: could not detect a schema in the current working directory. to watch a schema, pass the `--schema <PATH>` argument
👂 polling http://localhost:4002/ every 1 second
error: could not run `rover graph introspect http://localhost:4002/` or `rover subgraph introspect http://localhost:4002/`
        error[E004]: HTTP status client error (400 Bad Request) for url (http://localhost:4002/)
        Make sure the endpoint is accepting connections and is spelled correctly
```

Running `rover subgraph introspect http://localhost:4002/` gets me:

```
error[E004]: HTTP status client error (400 Bad Request) for url (http://localhost:4002/)
        Make sure the endpoint is accepting connections and is spelled correctly
```

### Environment

Rover Info:
Version: 0.10.0
Install Location: /Users/michelle-apollo/.rover/bin/rover
OS: Mac OS 11.6.4 [64-bit]
Shell: /bin/zsh