Normally, snapping an object to a vertex, edge, or face will cause the closest part of that object to become in-line with the snapping target. However, if the object has a mirror modifier attached, the behaviour changes so that the furthest part of that object becomes in line with the target, causes the object to overlap with the target.
If I remove the modifier, the object begins to snap normally again. The moment I add it, the 'overlap-snap' occurs. The same goes for turning off 'realtime display' in the modifier settings. This behaviour is very consistent, and a constant thorn in my side, yet googling it yields no results.
Is this an intended behaviour? Is there any way for me to stop it, other than temporarily disabling the modifier?
This is an issue that I've observed in both 4.2.2 LTS and 4.5.1 LTS.
As seen below, I've recreated it in a fresh project.
Normal snapping:

Snapping with mirror modifier:
