### Godot version

4.2 rc1

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

```
_free_base(void * block) Line 105 (c:\Users\Tomek\AppData\Local\Programs\Microsoft VS Code\minkernel\crts\ucrt\src\appcrt\heap\free_base.cpp:105)
Memory::free_static(void * p_ptr, bool p_pad_align) Line 169 (c:\godot_source\core\os\memory.cpp:169)
memdelete<AnimationMixer::TrackCache>(AnimationMixer::TrackCache * p_class) Line 113 (c:\godot_source\core\os\memory.h:113)
AnimatedValuesBackup::~AnimatedValuesBackup() Line 398 (c:\godot_source\scene\animation\animation_mixer.h:398)
AnimatedValuesBackup::`scalar deleting destructor'(unsigned int) (Nieznane źródło:0)
memdelete<AnimatedValuesBackup>(AnimatedValuesBackup * p_class) Line 112 (c:\godot_source\core\os\memory.h:112)
Ref<AnimatedValuesBackup>::unref() Line 212 (c:\godot_source\core\object\ref_counted.h:212)
Ref<AnimatedValuesBackup>::~Ref<AnimatedValuesBackup>() Line 223 (c:\godot_source\core\object\ref_counted.h:223)
Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>::~Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>() (Nieznane źródło:0)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element::~Element() (Nieznane źródło:0)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element::`scalar deleting destructor'(unsigned int) (Nieznane źródło:0)
memdelete_allocator<List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element,DefaultAllocator>(List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element * p_class) Line 124 (c:\godot_source\core\os\memory.h:124)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::_Data::erase(const List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element * p_I) Line 242 (c:\godot_source\core\templates\list.h:242)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::erase(const List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::Element * p_I) Line 429 (c:\godot_source\core\templates\list.h:429)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::clear() Line 463 (c:\godot_source\core\templates\list.h:463)
List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>::~List<Pair<AnimationMixer *,Ref<AnimatedValuesBackup>>,DefaultAllocator>() Line 758 (c:\godot_source\core\templates\list.h:758)
EditorNode::_save_scene(String p_file, int idx) Line 1846 (c:\godot_source\editor\editor_node.cpp:1846)
EditorNode::_save_scene_with_preview(String p_file, int p_idx) Line 1676 (c:\godot_source\editor\editor_node.cpp:1676)
EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) Line 2610 (c:\godot_source\editor\editor_node.cpp:2610)
EditorNode::_menu_option(int p_option) Line 1386 (c:\godot_source\editor\editor_node.cpp:1386)
call_with_variant_args_helper<EditorNode,int,0>(EditorNode * p_instance, void(EditorNode::*)(int) p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<0> __formal) Line 308 (c:\godot_source\core\variant\binder_common.h:308)
call_with_variant_args<EditorNode,int>(EditorNode * p_instance, void(EditorNode::*)(int) p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 418 (c:\godot_source\core\variant\binder_common.h:418)
CallableCustomMethodPointer<EditorNode,int>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 105 (c:\godot_source\core\object\callable_method_pointer.h:105)
Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 58 (c:\godot_source\core\variant\callable.cpp:58)
Object::emit_signalp(const StringName & p_name, const Variant * * p_args, int p_argcount) Line 1128 (c:\godot_source\core\object\object.cpp:1128)
Node::emit_signalp(const StringName & p_name, const Variant * * p_args, int p_argcount) Line 3607 (c:\godot_source\scene\main\node.cpp:3607)
Object::emit_signal<int>(const StringName & p_name, int <p_args_0>) Line 922 (c:\godot_source\core\object\object.h:922)
PopupMenu::activate_item(int p_idx) Line 2312 (c:\godot_source\scene\gui\popup_menu.cpp:2312)
PopupMenu::activate_item_by_event(const Ref<InputEvent> & p_event, bool p_for_global_only) Line 2224 (c:\godot_source\scene\gui\popup_menu.cpp:2224)
MenuBar::shortcut_input(const Ref<InputEvent> & p_event) Line 166 (c:\godot_source\scene\gui\menu_bar.cpp:166)
Node::_call_shortcut_input(const Ref<InputEvent> & p_event) Line 3132 (c:\godot_source\scene\main\node.cpp:3132)
SceneTree::_call_input_pause(const StringName & p_group, SceneTree::CallInputType p_call_type, const Ref<InputEvent> & p_input, Viewport * p_viewport) Line 1233 (c:\godot_source\scene\main\scene_tree.cpp:1233)
Viewport::_push_unhandled_input_internal(const Ref<InputEvent> & p_event) Line 3373 (c:\godot_source\scene\main\viewport.cpp:3373)
Viewport::push_input(const Ref<InputEvent> & p_event, bool p_local_coords) Line 3334 (c:\godot_source\scene\main\viewport.cpp:3334)
Window::_window_input(const Ref<InputEvent> & p_ev) Line 1553 (c:\godot_source\scene\main\window.cpp:1553)
call_with_variant_args_helper<Window,Ref<InputEvent> const &,0>(Window * p_instance, void(Window::*)(const Ref<InputEvent> &) p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<0> __formal) Line 303 (c:\godot_source\core\variant\binder_common.h:303)
call_with_variant_args<Window,Ref<InputEvent> const &>(Window * p_instance, void(Window::*)(const Ref<InputEvent> &) p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 418 (c:\godot_source\core\variant\binder_common.h:418)
CallableCustomMethodPointer<Window,Ref<InputEvent> const &>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 105 (c:\godot_source\core\object\callable_method_pointer.h:105)
Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 58 (c:\godot_source\core\variant\callable.cpp:58)
Callable::call<Ref<InputEvent>>(Ref<InputEvent> <p_args_0>) Line 850 (c:\godot_source\core\variant\variant.h:850)
DisplayServerWindows::_dispatch_input_event(const Ref<InputEvent> & p_event) Line 2716 (c:\godot_source\platform\windows\display_server_windows.cpp:2716)
DisplayServerWindows::_dispatch_input_events(const Ref<InputEvent> & p_event) Line 2686 (c:\godot_source\platform\windows\display_server_windows.cpp:2686)
Input::_parse_input_event_impl(const Ref<InputEvent> & p_event, bool p_is_emulated) Line 731 (c:\godot_source\core\input\input.cpp:731)
Input::flush_buffered_events() Line 995 (c:\godot_source\core\input\input.cpp:995)
DisplayServerWindows::process_events() Line 2401 (c:\godot_source\platform\windows\display_server_windows.cpp:2401)
OS_Windows::run() Line 1474 (c:\godot_source\platform\windows\os_windows.cpp:1474)
widechar_main(int argc, wchar_t * * argv) Line 182 (c:\godot_source\platform\windows\godot_windows.cpp:182)
_main() Line 204 (c:\godot_source\platform\windows\godot_windows.cpp:204)
main(int argc, char * * argv) Line 218 (c:\godot_source\platform\windows\godot_windows.cpp:218)
WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 232 (c:\godot_source\platform\windows\godot_windows.cpp:232)
[Inline Frame] invoke_main() Line 102 (d:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:102)
__scrt_common_main_seh() Line 288 (d:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
```
Hard crash not caught by the built-in crash handler. Happens when saving some scenes, I did not determine yet what kind of scenes.

Related to #85233 and #85093

### Steps to reproduce

1. Open scene (TBD what scene)
2. Save

### Minimal reproduction project

N/A
track_value->is_continuous |= anim->value_track_get_update_mode(i) != Animation::UPDATE_DISCRETE;
				track_value->is_using_angle |= anim->track_get_interpolation_type(i) == Animation::INTERPOLATION_LINEAR_ANGLE || anim->track_get_interpolation_type(i) == Animation::INTERPOLATION_CUBIC_ANGLE;
				
				
				
				bool skip_update_mode_warning = false;
				if (track_value->is_continuous) {
					if (!Animation::is_variant_interpolatable(track_value->init_value)) {
						WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' uses a non-numeric type as key value with UpdateMode.UPDATE_CONTINUOUS. This will not be blended correctly, so it is forced to UpdateMode.UPDATE_DISCRETE.");
						track_value->is_continuous = false;
						skip_update_mode_warning = true;
					}
					if (track_value->init_value.is_string()) {
						WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' blends String types. This is an experimental algorithm.");
					}
				}
				if (!skip_update_mode_warning && was_continuous != track_value->is_continuous) {
					WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' has different update modes between some animations which may be blended together. Blending prioritizes UpdateMode.UPDATE_CONTINUOUS, so the process treats UpdateMode.UPDATE_DISCRETE as UpdateMode.UPDATE_CONTINUOUS with InterpolationType.INTERPOLATION_NEAREST.");
				}
				if (was_using_angle != track_value->is_using_angle) {
					WARN_PRINT_ONCE_ED("AnimationMixer: '" + String(E) + "', Value Track: '" + String(path) + "' has different interpolation types for rotation between some animations which may be blended together. Blending prioritizes angle interpolation, so the blending result uses the shortest path referenced to the initial (RESET animation) value.");
				}
			}
			track->setup_pass = setup_pass;
		}
	}
	List<NodePath> to_delete;
	for (const KeyValue<NodePath, TrackCache *> &K : track_cache) {
		TrackCache *tc = track_cache[K.key];
		if (tc->setup_pass != setup_pass) {