### Godot version

4.2.rc 7022271

### System information

Godot v4.2.rc (702227129) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; 31.0.15.3713) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)

### Issue description

Godot crashes due to a complicated chain of events in the stack trace involving `reimport_files`, `reload_scene` and a synchronous `clear_history` which memdeletes several dangling TrackCache pointers in this RefCounted AnimatedValuesBackup ?!

```
Critical error detected c0000374
A breakpoint instruction (__debugbreak() statement or a similar call) was executed in godot.windows.editor.x86_64.exe.
```
![image](https://github.com/godotengine/godot/assets/39946030/90bdec00-d116-44c3-9eb6-1d80969dd92a)

Something feels very wrong about holding raw pointers to an AnimationMixer TrackCache in AnimatedValuesBackup. I can't follow the flow at all of how values get stored in AnimatedValuesBackup.

To maintain single-free semantics, these `TrackCache*` values must be **moved** and **owned by** the AnimatedValuesBackup.

TrackCache pointers must never be shared by other objects, otherwise a use-after-free or double-delete is likely to happen

### Steps to reproduce

1. Follow the steps in #85232 to Apply Reset on an opened gltf
2. Select the gltf in the filesystem (it will already be selected if you followed the steps)
3. Open the Import dock and click Reimport
4. Godot will crash.

### Minimal reproduction project

[ApplyReset.zip](https://github.com/godotengine/godot/files/13442920/ApplyReset.zip)

public:
	
	Dictionary *get_animation_libraries();
	void get_animation_library_list(List<StringName> *p_animations) const;
	Ref<AnimationLibrary> get_animation_library(const StringName &p_name) const;
	bool has_animation_library(const StringName &p_name) const;
	StringName find_animation_library(const Ref<Animation> &p_animation) const;
	Error add_animation_library(const StringName &p_name, const Ref<AnimationLibrary> &p_animation_library);
	void remove_animation_library(const StringName &p_name);
	void rename_animation_library(const StringName &p_name, const StringName &p_new_name);
	void get_animation_list(List<StringName> *p_animations) const;
	Ref<Animation> get_animation(const StringName &p_name) const;
	bool has_animation(const StringName &p_name) const;
	StringName find_animation(const Ref<Animation> &p_animation) const;
	
	void set_active(bool p_active);
	bool is_active() const;
	void set_deterministic(bool p_deterministic);
	bool is_deterministic() const;
	void set_root_node(const NodePath &p_path);
	NodePath get_root_node() const;
	void set_callback_mode_process(AnimationCallbackModeProcess p_mode);
	AnimationCallbackModeProcess get_callback_mode_process() const;
	void set_callback_mode_method(AnimationCallbackModeMethod p_mode);
	AnimationCallbackModeMethod get_callback_mode_method() const;
	void set_audio_max_polyphony(int p_audio_max_polyphony);
	int get_audio_max_polyphony() const;
	
	void set_root_motion_track(const NodePath &p_track);
	NodePath get_root_motion_track() const;