OK, so it seems this is actually a very complicated issue with how the underlying routing handles the start points of calculations that are in the middle of a length of road. Simply put, it has to snap the starting point to the the closest “junction” that it finds, in this particular case it is the the junction to the south of the starting point. Measuring from that point up to the northernmost boundary is then the 400m.
For the part that is too far away (the 800m part), that is due to both the issue above and another inaccuracy in the calculation. I am in the process of doing a fix for that inaccuracy which should then make them a bit more accurate, but for the first problem I will need a bit to look into if there is a way around it.