After careful consideration, I decided using the same jti for my both access and refresh tokens.
I'm not really sure what could go wrong in using the same jti from access and refresh tokens. This seems like a valid and optimized approach. We don't care about getting the refresh tokens when user logs out, or our prior access token is no longer valid like it's supposed to be when we refresh the token. Please enlighten me if you have any notes on this.