### Godot version

v4.0.1.stable.official [cacf49999]

### System information

Windows 10

### Issue description

If you use Sprite2D with a regular CompressedTexture and set a Region on it, then use a Sprite2D with a CanvasTexture and a different texture in the diffuse, and try to set a Region, the Region Editor display will show the texture from the first sprite2D node. I would expect it to show the diffuse texture from the current Sprite2D.
![image](https://user-images.githubusercontent.com/7292421/231493673-4eb152e0-81ed-4248-8465-71242c291cd2.png)
![image](https://user-images.githubusercontent.com/7292421/231493749-6173993b-e77c-4899-961e-9a055c07e351.png)




### Steps to reproduce

Make a sprite2D node
add a texture to it 
set Region to Enabled
click Edit Region under 'Region'
set any region

Make another sprite2D node
add a CanvasTexture to it
add a different texture to the Diffuse part
set Region to Enabled
click Edit Region under 'Region'
see wrong texture

### Minimal reproduction project

[RegionEditorBug.zip](https://github.com/godotengine/godot/files/11212626/RegionEditorBug.zip)

Ref<StyleBoxLine> style(memnew(StyleBoxLine));
	style->set_color(p_color);
	style->set_grow_begin(p_grow_begin);
	style->set_grow_end(p_grow_end);
	style->set_thickness(p_thickness);
	style->set_vertical(p_vertical);
	return style;
}
static Ref<ImageTexture> editor_generate_icon(int p_index, float p_scale, float p_saturation, const HashMap<Color, Color> &p_convert_colors = HashMap<Color, Color>()) {
	Ref<Image> img = memnew(Image);
#ifdef MODULE_SVG_ENABLED
	
	
	
	const bool upsample = !Math::is_equal_approx(Math::round(p_scale), p_scale);
	Error err = ImageLoaderSVG::create_image_from_string(img, editor_icons_sources[p_index], p_scale, upsample, p_convert_colors);
	ERR_FAIL_COND_V_MSG(err != OK, Ref<ImageTexture>(), "Failed generating icon, unsupported or invalid SVG data in editor theme.");
	if (p_saturation != 1.0) {
		img->adjust_bcs(1.0, 1.0, p_saturation);
	}
#else
	
	
	img = Image::create_empty(16 * p_scale, 16 * p_scale, false, Image::FORMAT_RGBA8);
#endif
	return ImageTexture::create_from_image(img);
}
float get_gizmo_handle_scale(const String &gizmo_handle_name = "") {