I tend to see answering and voting to migrate as two separate and distinct actions. If I see a question which should be migrated to another site, I vote to migrate it. If I see a question for which I can supply a helpful answer, I answer it. The two aren't mutually exclusive.
There is a certain sentiment among users that you shouldn't answer questions that don't belong on the site, and in many cases I can see their point. But to me the collective purpose of Stack Exchange is to generate good questions and good answers for the overall community. Moving those questions from one site to another is cleanup and maintenance, which is important but not so important (in my opinion) that it should get in the way of sharing knowledge.
If a question is of very poor quality, entirely off-topic, and in any of several ways a bad question, then you may need to ask yourself if providing an answer is in any way contributing to the community. For example, if a question is low quality because the person doesn't understand the material or barely speaks English then a good answer can still be very helpful. But if a question is low quality because it's just lazy or is just a rant without a real question then it's arguable that there is no good answer, so providing one isn't helpful.
But if it's a perfectly good question which just belongs on another Stack Exchange site then I see no reason why it can't be both answered and migrated. (Those who disagree may down-vote your answer, but I imagine the person who asked the question would still appreciate it.) It's not like the answer isn't going to be migrated with it.