Ideally your JWT shouldn't rely on dynamic information like that? I'm not sure how Laravel generates it's JWT, but I never have this kind of issue when I have to update user info.
If you're protecting routes, you should be hitting the API on every request to validate the token anyway (and caching with Redis when possible). So your alternative, despite seeming intensive, is the "best practice" to ensure tokens aren't faked.
If you need a workaround, I'd add a method to your User model that grabs the JWT token and add it to the response request (solving problem with SOLID principles - making adding a JWT relationship to Users). Allows you to get the token back easily on PUT/PATCH requests, along with the updated user profile. If your app depends on it and refreshes the token so often, this kind of functionality only makes sense and makes development easier.
SOLID or not, it sounds like you need it, and you can refactor to make it SOLID later.