That is not only between persons: I can get myself into a talker's mindset in a couple of days just by reading, drawing diagrams and generally doing anything that increases self confidence.
My actual coding abilities drop in the process because the ability to see abstract graphical patterns decreases.
On my best coding days I'm barely able to utter a coherent sentence at the end of the day.
That won't always help when it comes to verbally expressing things on the fly. If you can't practice with someone, you can try recording yourself trying to explain a topic on the fly, and playing it back. It's best to have a partner. Attending technical Meetups is another venue where you work this mental muscle.
He's very charismatic and a great speaker, and he has a successful business selling his experienced expertise and advice.
But having pair-programmed with him many many times during that time, I was surprised by his inability to discuss real-world coding problems and their potential solutions beyond more than a superficial level.
What I took from that experience is just what you said: there seems to be an inverse correlation. I could produce code that solved complex problems thoroughly and bug-free, and he could talk about them in an abstract way, but neither of us could do the other part.
I could tell you when a sentence had a problem and how to fix it. What I couldn't do was tell you why something was wrong in the language of talking-about-language. Basic parts of speech, sure. Past that I was lost. It took learning a fair bit of French in a formal setting to get that stuff to stick. I think the problem was that I didn't need those words to think about my native language[1]. It just happened for me. Learning a foreign language made it easy to pick up the vocabulary, because I actually needed it to talk about what was going on.
Point being that maybe there's a way to pick up some of the lingo by finding a way to need it. Maybe learn a radically different programming language from what you're used to.
On the other hand I find that even a not-especially-deep understanding of how things actually work makes some of these named concepts and patterns look like really obvious and not-needing-their-own-words cases of some more fundamental thing, so if it's that giving you trouble then I'm not sure what to do about that or how to make you need those words enough to learn them. Some significant percentage of the time I end up re-casting "complex" ideas as an implementation/combination of some simpler or more fundamental thing(s) I already know, which turns out to be an exact match for how the thing actually works and leaves me wondering entirely WTF all the fuss is about, and usually thinking I don't actually understand it long after I in fact do because everyone writing/talking about it is using mysterious, magical language. Being able to communicate with people who prefer to... I don't know, come at problems from the other direction I guess, is a problem I continue to have.
[1] N.b. I would eventually have needed them to develop further, and I picked up some really bad habits in high school that harmed the quality of my writing but helped me make mandatory page counts so I definitely had room to improve.
[EDIT] embarrassing farther/further error. The finer points of usage remain a struggle.