The criteria for migrating a question are:
- The question is off-topic on the current site.
- The question is high-quality.
- The question is on-topic for the target site.
Or, as stated in the FAQ,
- Don't migrate for the sake of migration. We only migrate questions because they are off-topic on the original site. It is perfectly possible for a question to be on-topic on multiple sites, but that is not a reason to migrate it elsewhere. As a general rule, if someone asks a question here, and it's on-topic here, it should stay here.
However, the UI doesn't make requirement 1 clear. The sequence goes…
Click "close" or "flag".
The dialog asks,
◉ Why should this question be closed?
◉ I am flagging this question because …
◉ it should be closed for another reason…
One of the options is:
◉ This question belongs on another site in the Stack Exchange network
The UI does not require an off-topic reason to be specified — in fact, it prevents you from specifying an off-topic reason if you want to suggest a migration. Thus, the UI improperly suggests that "better fit elsewhere" is a valid reason for closing/migrating.