Localisation is calculated based on IP Range. Dynatrace is using 3rd party library that is containing data for resolving locations based on this. This will never be 100% accurate. This as well will not work out of the box for internal IP addresses. You can define custom mappings in dynatrace by yourself.
Each session will be marked on different location. If this will be single session I'm not sure if Dynatrace is keeping first location or overwriting it with new one. I've never tested it by myself.