### Godot version

v4.2.rc.custom_build [d6a1db2b0]

### System information

Godot v4.2.rc (d6a1db2b0) - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 Ti (NVIDIA; 31.0.15.4592) - AMD Ryzen 9 7950X 16-Core Processor (32 Threads)

### Issue description

`AnimatedValuesBackup::get_data()` can crash as the internal data map can have nullptr values if any of the tracks were METHOD or ANIMATION types, as `AnimatedValuesBackup::get_cache_copy()` defines that these types of tracks do not get valid copies.

The resulting crash is therefore a null pointer exception.

### Steps to reproduce

1. Open a project with these type of animation tracks.
2. Save the project.

### Minimal reproduction project

https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer
switch (ttype) {
				case Animation::TYPE_POSITION_3D: {
#ifndef _3D_DISABLED
					if (Math::is_zero_approx(blend)) {
						continue; 
					}
					TrackCacheTransform *t = static_cast<TrackCacheTransform *>(track);
					if (track->root_motion && calc_root) {
						double prev_time = time - delta;
						if (!backward) {
							if (prev_time < 0) {
								switch (a->get_loop_mode()) {
									case Animation::LOOP_NONE: {
										prev_time = 0;
									} break;
									case Animation::LOOP_LINEAR: {
										prev_time = Math::fposmod(prev_time, (double)a->get_length());
									} break;
									case Animation::LOOP_PINGPONG: {
										prev_time = Math::pingpong(prev_time, (double)a->get_length());
									} break;
									default:
										break;
								}
							}
						} else {
							if (prev_time > a->get_length()) {
								switch (a->get_loop_mode()) {
									case Animation::LOOP_NONE: {
										prev_time = (double)a->get_length();