I can’t speak to why Twitch chose OIDC tokens to have the expiration times that they do, or as to why ID tokens can’t be refreshed.
From how I’m reading the OIDC specification providing a refresh token is optional, and when one is provided the main point they make is The Authorization Server MUST validate the Refresh Token, MUST verify that it was issued to the Client, and must verify that the Client successfully authenticated it has a Client Authentication method. and then goes on to say Upon successful validation of the Refresh Token, the response body is the Token Response of Section 3.1.3.3 except that it might not contain an id_token..
So the way Twitch is doing things is still going in line with the specification, as like you showed in your first post the authorization server does respond without error, it’s just that it doesn’t respond with an id token as that’s optional.
I don’t know enough about OIDC, and the various use cases for it, to know why it might be done this way, maybe Twitch staff or someone more experienced in OIDC can chime in.