I changed the tags in my .geo file to only integer tags instead of integer and string tags. This makes the section $PhysicalNames in my .msh file disappear. Choosing the given integer tags in fenics still results in
*** Warning: Found no facets matching domain for boundary condition.
The answer to my problem is exactly what you posted as the accepted solution in:
https://fenicsproject.discourse.group/t/extracting-mesh-regions-for-gmsh-mesh/1125
(In the original post in this thread, however, string and integer tags are used at the same time)
For my problem this would mean setting
bc1 = DirichletBC(V, Constant((1, 0)), mf, 2)
ds_2 = Measure('ds', domain=mesh, subdomain_id=(3, 4), subdomain_data=mf)
This still gives the same error.