Allow `cache: "bounded"` or fail quickly if it is passed
### Issue Description

In AS 3.9 we introduced `cache: "bounded"` as an easy way to shift to the newly-recommended-for-DOS-prevention behavior of not having an unbounded in-memory cache. In AS4 we made this behavior the default and stopped recognizing `cache: "bounded"`. Non-TypeScript users upgrading to AS4 may [miss the migration guide section stating that this is the default](https://www.apollographql.com/docs/apollo-server/migration/#default-cache-is-bounded) and in fact the migration guide does not state that the old value *no longer works*. While this is not a big deal for TS users (or `@ts-check` users) and it would be unreasonable for us to try to reproduce our API's entire set of compile-time checks at runtime, this particular change penalizes users who followed our recommended practices in 3.9 on, so it would be nice to either explicitly allow `cache: "bounded"` or to make it an immediate runtime failure (and update the migration guide).

### Link to Reproduction

caused problems here: https://github.com/apollographql/apollo-utils/pull/236

### Reproduction Steps

_No response_