So the first portion of your question with "how do I correctly sub-license" is answered in this SO link: Can I re-license someone's MIT code. Hat tip to Gallaecio for this link.
And the most relevant part of the answer there is:
What you can do is have more than one license on the software.
So, you need to include the license file, but I'd add something about it not applying to the whole product. To be nice, you might want to point out where somebody can get a copy of the MIT-licensed starting point.
You need to include the GPL as well as the original license, and you need to make it clear that each individual file as a whole is covered by the GPL, as well as MIT for portions of it.
This is an additional SO question regarding MIT vs GPL licenses that I think is relevant to your question.
It's worth noting that when you sub-license that MIT licensed project into a GPL'd project that you are presenting the entire package as a GPL'd project, which includes the viral aspect of GPL. The original project you're borrowing will remain available under the MIT license through whatever source you picked it up from. The difference is that the package is now GPL'd as part of your project.
Arguably, if someone uses the MIT licensed project from your GPL'd project, they would need to consider it as GPL'd. However, they could also just go back to the original source of the project under the MIT license and use it from there under an MIT license. It's splitting hairs, and I think it's impossible to predict how it would play out in court.
The GPL FAQ has a good section on what it means for two licenses to be compatible.
This references the Free Software Foundation's comments on various licenses. Their comments on the MIT license are:
This is a lax, permissive non-copyleft free software license, compatible with the GNU GPL. Which is a good thing from your question's point of view.
Here's a link to the GPL v3 license text
Here's a link to the MIT license text
FSF calls the MIT license the Expat license