How come my mirror modifier messes up when I apply subdivision?
The order of stack modifiers is very important. When you apply the Subsurf Modifier the result will be as if it was first in the stack.
The solution is to apply the Mirror Modifier first and then Subsurf Modifier.
If you still want mirror modifier then you can delete half of the mesh and add the modifier again.