When you split your domain into two subdomains, these domains should align with the boundary of the interface between them (i.e. The straight line y=0.5). When you use mshr to generate unstructured meshes, this will not be the case.
As mshr has been deprecated for a long time, i would strongly suggest you move to Gmsh, where you can use the fragment option to create subdomains, see