### 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
encode_uint32(0, buf);
					}
					r_len += 4;
				} else {
					_encode_string(obj->get_class(), buf, r_len);
					List<PropertyInfo> props;
					obj->get_property_list(&props);
					int pc = 0;
					for (const PropertyInfo &E : props) {
						if (!(E.usage & PROPERTY_USAGE_STORAGE)) {
							continue;
						}
						pc++;
					}
					if (buf) {
						encode_uint32(pc, buf);
						buf += 4;
					}
					r_len += 4;
					for (const PropertyInfo &E : props) {
						if (!(E.usage & PROPERTY_USAGE_STORAGE)) {
							continue;
						}
						_encode_string(E.name, buf, r_len);
						int len;
						Error err = encode_variant(obj->get(E.name), buf, len, p_full_objects, p_depth + 1);
						ERR_FAIL_COND_V(err, err);
						ERR_FAIL_COND_V(len % 4, ERR_BUG);
						r_len += len;
						if (buf) {