I had this problem too. I think there is a bug where it looks at the
region and changes the units settings on start. I worked around this
(in the US) by setting region to Canada, because it has the same rules
mostly but is metric.
I haven't read the code, but basically I think the units should have the
choice of "metric, nautical, imperical, default", where "default" means
"follow driving region". So one you set to metric, it should stay
metric. Right now it feels like units get set according to region on
startup.