The exact location in England, Scotland, and Germany is not known.
When certain information is not known, such as the AdminEntity within a Country, the full category structure cannot be utilized. Since we also strive to use the information from the time period of the person in question, there would need to be more information on when they migrated.
Using one of your examples above, if we know that someone migrated in, let's say, 1740, to what was the North carolina Province, then the category structure would end up as:
[[Category: Immigrants to United Kingdom]]
[[Category: Immigrants to Province of North Carolina]]
[[Category: Immigrants to Province of North Carolina from Germany]]
When the immigrant first immigrated to one state and later immigrated to another state
This would all depend on the structure at the time and place in question. Internal Migration (within an established country) would not fall under the scope of Migration, so the move from one UK colony to another would not be classified as Migration.
How would you categorize Scotts-Irish Immigrants to the Province of North Carolina?
No different than any other migrants. Scots-Irish, as far as I am aware, is an ethnic group, and related to migration. If a person lived in CountryA and migrated to CountryB, that is the migration path you are trying to document. If they migrated multiple times, from CountryA to CountryB to CountryC, with the intent on living in each place permanently, at least at the time, then you would document two separate migration paths.