Using custom tokenmanager storage in v6

I am working on upgrading our app from v3 to v6 of okta. Everything works so far, user can log in, etc. Now I need to switch to using a custom storage provider because we have needs to have a shared cookie across multiple domains.

When we instantiate OktaAuth the object looks something like:

new OktaAuth({
  issuer: 'url',
  clientId: 'id',
  redirectUrl: 'url',
  pkce: false,
  scopes: ['profile', 'email', 'openid', 'groups'],
  tokenManager: {
      storage: {
        getItem: (key) => { ... my code ... },
        setItem: (key, val) => { ... my code ...}
  }
})

The above worked great in v3, now with v6, it just keeps looping, sending the user to okta, back to our app, then back to okta.

If I remove tokenManager then everything works again, but I don’t get my custom storage provider.

Libraries:

    "@okta/okta-auth-js": "^6.7.1",
    "@okta/okta-react": "^6.5.0",
    "react": "17.0.2",