Clear saved filepath
You need to save the original path so you can use it later. This can be done by adding a StringProperty to store it.

bpy.types.Scene.orig_path = bpy.props.StringProperty()


As you can't alter the filepath, you could try setting up an app.handler.save_pre to check this property before saving a blend file, if it is there then use save_as_mainfile() to save it using the old path name. The gotcha here is that you could be interfering with the user choosing 'save as'.

The drawback to this approach is the user will see the tmp path in between your operator and choosing to save, so you may want to stick with having to save before your operator is run.

I think a better approach would be to create an addon preference that allows the user to enable saving the blend file before your operator runs, then if enabled you can simply save the blendfile and reload without any issues. If the user has not enabled it then prompt them to save and reload.