Translation:The tall teacher is not English, but Hungarian.
Right on that. But please note that Hungarian does not make that distinction between the noun and adjective forms with nationalities. So, both "he is English" and "he is an Englishman" translate to "(ő) angol". If you want to emphasize the noun role, you can add "egy" - "a", as in "My English teacher is an (actual/real) Englishman" - "Az angoltanárom egy (igazi) angol". But that is totally optional.
The usage here feels closer to the adjective role but, since there is no real distinction, maybe the noun version should also be accepted.
But is there a difference between someone being English and being an Englishman? Can you be English without being an Englishman? (Ignoring the gender) ... Unless this is saying that the person isn't an English teacher, in that case Englishman wouldn't work, as an English teacher only teaches English and does not imply English nationality.
There's no difference in meaning between these. It's just a question about which grammar you use. Hungarian is more practical there, not making much of a difference between nouns and adjectives like this.
- Férfi vagyok. - I am male. I am a man. Same meaning, different grammar.
While "the tall teacher is not English, but Hungarian" is correct, it feels really unnatural to me as a native English speaker. I don't think this syntax is commonly used - at least not in America. I think the way I would say this is "The tall teacher is Hungarian, not English." However, I got marked wrong when I typed this in, I've reported it, but wanted to call it out here too in case others ran into it.