As long as all transaction are created through UI client script is ok, but I still recommend userevent for this.
Also initially that location field will be blank while creating new transactions.
So once you update the location it will trigger the field change, you might want to handle it.
Also let's say the user changes the location on the transaction record 10 times before saving it, you will be updating the customer record 10 times?
Either a userevent or client script save record where you get the location of transaction
Gets the customer internal id, checks it's location and see whether it's matching or not,
If not update the record.