The argument is that the blacklist is as much a SPOF as a session server would be. The blacklist kills the statelessness.
If a single component of your application maintains a little state, say the API Gateway, and all the downstream services simply get a clean JWT they can trust with all the right claims in it?
I'm thinking this is still nicer than having every downstream service also having to check auth claims against some datastore.