One thing to consider here, is that the only time this will work on a real devices is if you are using the WF from the widget loop while recording an activity, and not all devices give access to the widget loop, and those that do, won't display a CIQ watch face if there is a CIQ data field in use (it's a memory thing). Other times, currentLocation won't change, and can be null.
While you can use simulated data or playback a .fit in the sim while using a WF, you're actually simulating the above condition.
Forgot to mention that I have only tested these features on a fenix 5X Plus and therefore can not say which of the functions listed will not work for which other clock or application.
Unless you are recording an activity with GPS (and currentLocation is therefore changing) it will be static That's the only way currentLocation should change on a real device