### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

Godot v4.1.1.stable - Ubuntu 22.04.2 LTS 22.04 - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 615 (AML-KBL) () - Intel(R) Core(TM) i3-10100Y CPU @ 1.30GHz (4 Threads)

### Issue description

Summary: When editing the subregion of a StyleBoxTexture, it shows me the entire spritesheet of the Atlas texture, instead of the selected portion of the atlas, making it difficult (and non-intuitive) to correctly select the subregion I need. 

What I expect: I understand that the sub-region may be used to emulate the behavior of a nine-patch. So I would expect to see there the subregion that i selected previously from the Atlas as the texture to be shown.

I have only tested this in a Panel Container

### Steps to reproduce

I found this problem when doing these steps:

- Add a PanelContainer node
- In the inspector select Theme Overrrides -> Style -> new StyleBoxTexture
- In the texture of the StyleBoxTexture select new AtlasTexture
- Dropped the spritesheet in the Atlas of the AtlasTexture
- In Region of the AtlasTexture, selected Edit Region and drew the rectangle on the texture i want:
![image](https://github.com/godotengine/godot/assets/1207326/2e9624b1-63bc-4267-8d7f-59e82df7896e)

- Back in the StyleBoxTexture options, in Sub-Region, clicked on Edit Region to select the nine-patch region i need
- Here is where the region editor shows me the entire spritesheet and not the sub-texture i selected from the atlas. The image below shows the axis correctly positioned for the nine-patch to work, but it is not intuitive because it has to be positioned without seeing the correct texture, making it difficult to finetune for some textures.

![image](https://github.com/godotengine/godot/assets/1207326/a5023afd-7e4b-47c8-adfc-03fda7f6301b)


### Minimal reproduction project

N/A
return filter_clip;
}
void AtlasTexture::_bind_methods() {
	ClassDB::bind_method(D_METHOD("set_atlas", "atlas"), &AtlasTexture::set_atlas);
	ClassDB::bind_method(D_METHOD("get_atlas"), &AtlasTexture::get_atlas);
	ClassDB::bind_method(D_METHOD("set_region", "region"), &AtlasTexture::set_region);
	ClassDB::bind_method(D_METHOD("get_region"), &AtlasTexture::get_region);
	ClassDB::bind_method(D_METHOD("set_margin", "margin"), &AtlasTexture::set_margin);
	ClassDB::bind_method(D_METHOD("get_margin"), &AtlasTexture::get_margin);
	ClassDB::bind_method(D_METHOD("set_filter_clip", "enable"), &AtlasTexture::set_filter_clip);
	ClassDB::bind_method(D_METHOD("has_filter_clip"), &AtlasTexture::has_filter_clip);
	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "atlas", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_atlas", "get_atlas");
	ADD_PROPERTY(PropertyInfo(Variant::RECT2, "region", PROPERTY_HINT_NONE, "suffix:px"), "set_region", "get_region");
	ADD_PROPERTY(PropertyInfo(Variant::RECT2, "margin", PROPERTY_HINT_NONE, "suffix:px"), "set_margin", "get_margin");
	ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_clip"), "set_filter_clip", "has_filter_clip");
}
void AtlasTexture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_modulate, bool p_transpose) const {
	if (!atlas.is_valid()) {
		return;
	}
	Rect2 rc = region;
	if (rc.size.width == 0) {
		rc.size.width = atlas->get_width();
	}
	if (rc.size.height == 0) {
		rc.size.height = atlas->get_height();
	}
	atlas->draw_rect_region(p_canvas_item, Rect2(p_pos + margin.position, rc.size), rc, p_modulate, p_transpose, filter_clip);
}
void AtlasTexture::draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile, const Color &p_modulate, bool p_transpose) const {