Yes, I know that "English teacher" also means so. who is English. But I asked that because I had usually heard this expression, not the other one, to refer to so. who teaches English.
I think that in a situation where no ambiguity is possible I would just say "English teacher." If I ask my daughter, "Did your English teacher assign any homework today?" she is not going to respond "I don't have any English teachers - my teachers are all American!" However, if I were talking to or about someone I didn't know, where both interpretations were possible, I would say something like
I think that an English teacher is a teacher who is an Engish person. But Teacher of English is a person who teaches English. Does anyone agree with me?
An English teacher can mean a teacher of English when the stress is on Enlish. If the stress is on teacher, it refers to a teacher who comes from England whatever subject he/she teaches.