First, the “who/whom” distinction has just about disappeared in spoken American English except among very careful users. (I do not know about British English.)
Second, let’s start with direct and indirect objects. For verbs that can take a direct and indirect object, there are two equally grammatical ways to go.
I taught English to him
I taught him English
If the indirect object follows the verb and precedes the direct object, there is no preposition preceding the indirect object. If the direct object follows the verb and precedes the indirect object, the indirect object is preceded by “to” or “for.”
Third, in modern English, the objective case is used for direct and indirect objects of verbs and for objects of prepositions. If, as I do, you retain the “who/whom” distinction, “who” is used only for a clause’s subject, and “whom” is used for all three objective uses. All three of the formations below are grammatically correct, and I give them in my personal order of preference. My most preferred is
to whom I taught English.
I like that because it immediately makes clear that “whom” is the indirect object. Of the following, I prefer
whom I taught English to.
I find that acceptable because the final “to” eventually makes clear that “whom” is an indirect object, but there is a delay that makes my thought somewhat hard to grasp immediately.
whom I taught English
is correct, but I do not like it because the listener or reader is given the least information on how to parse “whom.”
These are subtle points on which good users of English may disagree.