So after more experimenting, coordinates seem to refresh if I use the following algorithm:
session.custom.period = 0
...
# upon request of coordinates
if session.custom.period % 2 == 0:
# read and send coordinates
...
session.props.geolocation.enabled = False
else:
session.props.geolocation.enabled = True
session.custom.period += 1
If the coordinate requests are emitted every N seconds from the gateway, the above results in one coordinate reading every 2N seconds, and values do seem to change this way.
Looks to me that I’m still missing something (or ignition’s implementation of geolocation isn’t optimal, cannot tell).