One thing I've noticed is that questions like these end up creating an untagged tag whenever a migration takes place. Is this intended behavior? If not, what is the appropriate method of handling these situations?
This is intended behaviour; the Stack Exchange software isn't able to determine which tags are appropriate for a question. It will suggest some when you're typing the question, but it will never choose one for you. The question was tagged [function] when it was migrated and the function tag doesn't exist here; we do have functions but the system isn't that smart. It will drop any tags which don't exist here (otherwise, it might accidentally create a lot of unwanted tags) and if none remain, it'll become untagged until a user edits the tags. (I have done so now, feel free to add more appropriate tags.)