### Godot version

4.1.3

### System information

Windows 10

### Issue description

E 0:00:47:0705   Message.gd:46 @ from_raw(): Class 'FileAccess' or its base class cannot be instantiated.
  <Erreur C++>   Condition "!ti->creation_func" is true. Returning: nullptr
  <Source C++>   core/object/class_db.cpp:341 @ instantiate()
  <Pile des appels>Message.gd:46 @ from_raw()
                 WebRTCClient.gd:30 @ _process()

`from_raw() is a byte_to_var_with_objects() function`

### Steps to reproduce

try to decode an array containing a FileAccess object among many other vars

byte_to_var_with_objects([FileAccess.open(path, FileAccess.READ), a, b, c, d, ...])

### Minimal reproduction project

N/A
Transform2D val = p_variant;
				for (int i = 0; i < 3; i++) {
					for (int j = 0; j < 2; j++) {
						memcpy(&buf[(i * 2 + j) * sizeof(real_t)], &val.columns[i][j], sizeof(real_t));
					}
				}
			}
			r_len += 6 * sizeof(real_t);
		} break;
		case Variant::VECTOR4: {
			if (buf) {
				Vector4 v4 = p_variant;
				encode_real(v4.x, &buf[0]);
				encode_real(v4.y, &buf[sizeof(real_t)]);
				encode_real(v4.z, &buf[sizeof(real_t) * 2]);
				encode_real(v4.w, &buf[sizeof(real_t) * 3]);
			}
			r_len += 4 * sizeof(real_t);
		} break;
		case Variant::VECTOR4I: {
			if (buf) {
				Vector4i v4 = p_variant;
				encode_uint32(v4.x, &buf[0]);
				encode_uint32(v4.y, &buf[4]);
				encode_uint32(v4.z, &buf[8]);
				encode_uint32(v4.w, &buf[12]);
			}
			r_len += 4 * 4;
		} break;
		case Variant::PLANE: {