The main and only argument against JWT tokens for me in context of user sessions is that I cannot revoke them if I block user account.
Or, if you want to have more immediate revokes without having a ridiculously short expiration time, keep a list of blacklisted tokens that you clear at least every <refresh time> seconds.
At the end of the day, JWTs still have to be accepted by the server, which you have complete control over.