Is it "expert in" or "expert on"?
They do seem interchangeable but to me "expert in" implies doing knowledge rather than knowing knowledge. So "expert in kung fu" is clearly someone who practices kung fu, whereas an "expert on kung fu" implies he knows a lot of about kung fu, its history, etc.
Clear as mud, right? My sense too is that "expert in" is used when the knowledge is focused to a particular subcategory, whereas "expert on" applies more to broad categories. Here is someone in 1908 seemingly using them in that manner:
I am not an expert in typhoid fever but I have seen hundreds of cases. While I say I am not an expert on the brain and brain diseases, I am just about as much an expert on that as I am on the other branches of the practice. I say I practice in cases of pneumonia and in cases of typhoid fever, and in cases of brain trouble, and I consider myself just as much an expert in the one as in the other.
It depends on the context. However, according to general usage in North American English, one would use:
an expert in a field of study
an expert on a specific type of matter
It could be arguable that "He is an expert in English or on English" contains a flaw.
He is an expert in English language - a field of study
He is expert on English grammar - a specific type of matter/subcategory.
Then you may get further into:
He is an expert in English grammar
He is an expert on the usage of prepositions