Twitch OAuth returning stale scopes when using Authorization Code Flow

I might be having a related issue: No scopes are returned after POST /oauth2/token

Except I cannot access any scopes, even ones requested initially. Again, it works with the implicit flow.

EDIT:
I have a repro case:

  1. Create an application.
  2. Use the code flow to request auth with no scopes.
  3. Request auth with different scopes e.g. user_read.
  4. No scopes are returned with the OAuth key.
  5. Delete the app from your Connections: https://www.twitch.tv/settings/connections
  6. Request auth with user_read scope.
  7. OAuth key has correct scopes.

It seems that the scopes get “frozen” after auth is requested once, and the user has to delete the app connection to request more scopes.