Being able to speak versus being able to read a language are surprisingly different skills.
Probably due to different parts of the brain, motor skills, etc.
How about trying to learn differential calculus when the foreign-born teaching assistant is unintelligible in English? Common at universities.
I simply ascribe it to lack of practice. You have to be immersed, in a situation where you can’t get by on your own language, to really learn to use another. Also, it can be exhausting mentally, so we usually try to avoid it.