Hello.
Yes, that is the default behavior. If you display/report the location of a contact which is the affected contact of a ticket, you will have this behaviour. The affected user of a ticket points to a contact, and the contact points to a location.
So if you change the contacts location, the ticket is still pointing to the same contact, and so the ticket affected user location will change also.
Regarding normal operation, I would like to know the actual location of the affected user always, for various reasons.
But I can image, that from a reporting point of view, one would be interested, how many tickets were opened in each location, also for historical data.
To avoid this, one would need to make the affected users location a ticket property. For example, when specifying the affected user, the location of this contact will be copied to a separate, new ticket field. After that, you would be able to change the contacts location, but the ticket locations would stay the same value as before. This can be done by a customization. But it will include enhancing the database schema and creating a peace of code.
Regards
.............Michael