Now that we have that out of the way, I'm going to give my 2 cents:
JWT is one type of token. Ultimately OpenID Connect also gives you a token.
So the question is really sessions vs tokens.
With sessions, your application has full control over the validity of the session. With tokens, you're supposed to trust the validity of the token for the validity period specified in the token.
With tokens, your client usually needs to attach the token in an Authorization header in the HTTP request.
With sessions, the session ID is usually stored in the cookie, and it's usually automatically sent with each HTTP request; no other data needs to be specifically attached or sent.
Tokens can get quite large, you don't want to be shuttling the token back and forth for every request.
One recommended practice is to use the token to exchange for a Django session, and then just keep using the session afterwards.