### Godot version

4.0.beta17

### System information

windows 10, nvidia graphics

### Issue description

When creating a typed array from another base array, if the base array was gotten from get_tree().get_nodes_in_group(), you cannot create a typed array assigning a script different from null, otherwise the resulting array will be filled with nulls.

![image](https://user-images.githubusercontent.com/5783414/216142311-1eded30c-e8ff-4a2b-aa5a-61ae5cafce13.png)


### Steps to reproduce

See attached video:

https://user-images.githubusercontent.com/5783414/216142187-82af9900-d490-4d6d-b4cc-9d776d8b8cc9.mp4



### Minimal reproduction project

[TypedArrayConstructorDoesntWorkWithScriptsWhenUsingGetNodesInGroup.zip](https://github.com/godotengine/godot/files/10560863/TypedArrayConstructorDoesntWorkWithScriptsWhenUsingGetNodesInGroup.zip)

### WorkAround

Instead of using the output of get_tree().get_nodes_in_group() directly, the user can join it with an empty array
```gdscript
[]+get_tree().get_nodes_in_group()
```
and it will work as expected.
if (type == p_type.type) {
			if (type != Variant::OBJECT) {
				return true; 
			}
		} else {
			return false;
		}
		
		if ((class_name != StringName()) != (p_type.class_name != StringName())) {
			return false; 
		}
		if (class_name != p_type.class_name) {
			if (!ClassDB::is_parent_class(p_type.class_name, class_name)) {
				return false;
			}
		}
		if (script.is_null() != p_type.script.is_null()) {
			return false;
		}
		if (script != p_type.script) {
			if (!p_type.script->inherits_script(script)) {
				return false;
			}
		}
		return true;
	}
	_FORCE_INLINE_ bool operator==(const ContainerTypeValidate &p_type) const {
		return type == p_type.type && class_name == p_type.class_name && script == p_type.script;
	}
	_FORCE_INLINE_ bool operator!=(const ContainerTypeValidate &p_type) const {