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

node_sprite_2d = Object::cast_to<Sprite2D>(p_obj);
		node_sprite_3d = Object::cast_to<Sprite3D>(p_obj);
		node_ninepatch = Object::cast_to<NinePatchRect>(p_obj);
		bool is_resource = false;
		if (Object::cast_to<StyleBoxTexture>(p_obj)) {
			obj_styleBox = Ref<StyleBoxTexture>(Object::cast_to<StyleBoxTexture>(p_obj));
			is_resource = true;
		}
		if (Object::cast_to<AtlasTexture>(p_obj)) {
			atlas_tex = Ref<AtlasTexture>(Object::cast_to<AtlasTexture>(p_obj));
			is_resource = true;
		}
		if (is_resource) {
			Object::cast_to<Resource>(p_obj)->connect_changed(callable_mp(this, &TextureRegionEditor::_texture_changed));
		} else {
			p_obj->connect("texture_changed", callable_mp(this, &TextureRegionEditor::_texture_changed));
		}
		_edit_region();
	}
	edit_draw->queue_redraw();
	popup_centered_ratio(0.5);
	request_center = true;
}
void TextureRegionEditor::_texture_changed() {
	if (!is_visible()) {
		return;
	}
	_edit_region();
}
void TextureRegionEditor::_edit_region() {