### Godot version

v4.0 rc6

### System information

Windows 10

### Issue description

When using a ViewportTexture from a SubViewport on a TextureRect, it throws errors after running the scene once and then switching scenes in the editor.
![Pasted image 20230227212626](https://user-images.githubusercontent.com/44676282/221680047-984fa03e-33d1-4856-9a7f-1700b28423cf.png)


### Steps to reproduce

Run the canvas-scene once.
Switch to another scene in the editor.
Switch back to the canvas-scene

### Minimal reproduction project

[ViewportTextureError.zip](https://github.com/godotengine/godot/files/10844099/ViewportTextureError.zip)

return scene_unique_id;
}
void Resource::set_name(const String &p_name) {
	name = p_name;
	emit_changed();
}
String Resource::get_name() const {
	return name;
}
void Resource::update_configuration_warning() {
	if (_update_configuration_warning) {
		_update_configuration_warning();
	}
}
bool Resource::editor_can_reload_from_file() {
	return true; 
}
void Resource::connect_changed(const Callable &p_callable, uint32_t p_flags) {
	if (!is_connected(CoreStringNames::get_singleton()->changed, p_callable) || p_flags & CONNECT_REFERENCE_COUNTED) {
		connect(CoreStringNames::get_singleton()->changed, p_callable, p_flags);
	}
}
void Resource::disconnect_changed(const Callable &p_callable) {
	if (is_connected(CoreStringNames::get_singleton()->changed, p_callable)) {
		disconnect(CoreStringNames::get_singleton()->changed, p_callable);
	}
}
void Resource::reset_state() {
}
Error Resource::copy_from(const Ref<Resource> &p_resource) {