You can also say 'מאיפה הוא', right?
Yes, but if you say that then it could only mean "where is he from" (originally).
If you say "מאיפה הוא בא" it would more likely mean where is he coming from right now, and much less likely where is he from.
What is the difference between "לאן" and "מאיפה"? I tried "לאן הוא בא?" but it wasn't accepted
l לאן is where to and מאיפה is from where, so they are opposite to each other.