Migration was discussed often, however I couldn't find another question about it.
A phenomenon which happens often is the "self duplicate", because of "belongs to *" comment under question. The original poster sees that, checks the other site, and copies his question there. A few minutes after, his original question gets migrated to the site, after enough votes. So the other site inherits 2 similar questions, for no reason, one is to close for duplicate.
How can we make the "migration" process more clear to new (and other) users?
There is nothing in FAQ about it, and it's understandable, because migrating, even if happening often, is something which wouldn't happen most of times if the FAQ was read and respected. Since this FAQ states "ask such questions on another site", no reason to add "but if you do anyway, we will migrate it for you", it would indeed be silly.
How to educate people who are leaving comment to leave a more complete one, then? Instead of putting tags, or writing shortly "belongs on S#.", or worse "you should ask this question on S#.", they should simply state that this question doesn't belong there, and will be migrated there, so the original poster should create an account there and wait for it, but shouldn't ask again the question.
The migration system is completely invisible for a new user. His "good behavior" seems to be asking the question on the good place, then. So how can we make it more clear?
Edit: Related question (but more about handling these duplicates and not preventing them in the first place).