### 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)

void _update_global_transform();
	RID texture_rid;
	DebugDraw debug_draw = DEBUG_DRAW_DISABLED;
	int positional_shadow_atlas_size = 2048;
	bool positional_shadow_atlas_16_bits = true;
	PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quadrant_subdiv[4];
	MSAA msaa_2d = MSAA_DISABLED;
	MSAA msaa_3d = MSAA_DISABLED;
	ScreenSpaceAA screen_space_aa = SCREEN_SPACE_AA_DISABLED;
	bool use_taa = false;
	Scaling3DMode scaling_3d_mode = SCALING_3D_MODE_BILINEAR;
	float scaling_3d_scale = 1.0;
	float fsr_sharpness = 0.2f;
	float texture_mipmap_bias = 0.0f;
	bool use_debanding = false;
	float mesh_lod_threshold = 1.0;
	bool use_occlusion_culling = false;
	Ref<ViewportTexture> default_texture;
	HashSet<ViewportTexture *> viewport_textures;
	void _update_viewport_path();
	SDFOversize sdf_oversize = SDF_OVERSIZE_120_PERCENT;
	SDFScale sdf_scale = SDF_SCALE_50_PERCENT;
	uint32_t canvas_cull_mask = 0xffffffff; 
	enum SubWindowDrag {
		SUB_WINDOW_DRAG_DISABLED,
		SUB_WINDOW_DRAG_MOVE,
		SUB_WINDOW_DRAG_CLOSE,
		SUB_WINDOW_DRAG_RESIZE,
	};
	enum SubWindowResize {