You have provided one possible explanation for Joe redirecting you and asking you what is "going good" during conversations: that he is trying to be your therapist and trying to fix you. If this is what he is doing, a gently funny reply like "Joe, I have a therapist already, thanks" might stop it.
But consider that what Joe is actually saying is "I don't want to hear about this bad stuff. Can we talk about something happier please?" There are friends who will say this -- not for you, but for themselves. And that's fine. After all, Joe isn't your therapist and isn't here to listen to your problems.
If you don't want to discuss lighter or happier things with Joe - and you very well may not - then this is a signal to adjust your friendship. It doesn't sound like you really like Joe: he's narrow, fragile, and arrogant, plus he corrects you a lot. Perhaps you should see less of each other? Or if it can't be avoided, perhaps you should communicate in a shallower way. "Mmm, this coffee is delicious." "Hope you had a great weekend!" "Did you catch that game last night?" Keep it light. Save the deeper stuff for true friends.
Personally, I've changed the subject with people who won't stop telling me how terrible things are for them, probably thousands of times. I hope I'm a little gentler than Joe. Sometimes it's as a favour to them: I have had older relatives, for example, who ruminate constantly on what they've seen on the news and how awful everything is and so on, while ignoring lovely children, sunny days, and delicious food that's right in front of them. Other times it's a friend who "complains" about things most people would love to have: getting used to the way their new car drives, mowing the lawn at their new bigger house, business travel, how heavy these diamond earrings feel when you first put them on. And still other times the complaints are real, but I just don't want to have that conversation today. I don't have to. If I am a good, close friend, I might let the person vent to me again about the same things as last time, hoping it helps them. But it's not my obligation to listen again, and I might prompt the person to choose another conversational tack.
I have also been a person with a lot on my mind. I had a terminal diagnosis for about 6 months until an experimental treatment cured me. I have had family members in the hospital, or facing mental health struggles, or facing legal troubles. And when I spent time with people I often didn't want to cheer them up by talking about lighter things so that they could feel better while I was going through all that. I declined that emotional labour. You can do that, too, if you choose.
You say that going along with it just encourages the behaviour. Of course! If I say "let's talk about the baseball game" and you do, and we have a happy animated conversation about it for 20 minutes, I am totally going to suggest discussing the baseball game another time. If you genuinely don't want to talk about what is going good in your life, you will have to say so out loud. But before you do, please revisit your internal explanation for why Joe is making this request.