Good day.
As far as I can judge about JWT, this mechanism exists "by itself", apart from the micro or macro-service architecture, it (the mechanism) needs only a client and a server.
If you believe the site jwt.io , then this process consists of the following steps:
1) Client requests authorization
2) Server creates and returns a token.
3) The client, when requested, indicates this token in the request header.
4) The server authorizes the client by token and sends the content to the client.
It seems to me that your algorithm with two tokens, in principle, fits into the above process.
Personally, it seems to me that the second token is superfluous, it was possible to do with one. In addition, writing a token to the database is not always a good idea, since it will be necessary to perform a query to the database each time the token is received, even without payload.
Below I will describe an example of using JWT in my own services:
1) Client requests authorization by passing user and password
2) The server searches the user's database, checks the password, and if everything is good, it creates a token by coding the user ID using the SH256 algorithm using the server's internal secret key.
3) The token is sent to the client, and the token is NOT written to the database.
4) The client makes a request for the content indicating the received token in the request header
5) The server "on-the-fly" decodes the token and if it receives the payload (payload) of the correct structure, it searches the client in the database by identifier
6) If the user is found, the content is returned.
I hope answered your question.