### 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
if (node_ninepatch || obj_styleBox.is_valid()) {
					edited_margin = -1;
					float margins[4] = { 0 };
					if (node_ninepatch) {
						margins[0] = node_ninepatch->get_patch_margin(SIDE_TOP);
						margins[1] = node_ninepatch->get_patch_margin(SIDE_BOTTOM);
						margins[2] = node_ninepatch->get_patch_margin(SIDE_LEFT);
						margins[3] = node_ninepatch->get_patch_margin(SIDE_RIGHT);
					} else if (obj_styleBox.is_valid()) {
						margins[0] = obj_styleBox->get_texture_margin(SIDE_TOP);
						margins[1] = obj_styleBox->get_texture_margin(SIDE_BOTTOM);
						margins[2] = obj_styleBox->get_texture_margin(SIDE_LEFT);
						margins[3] = obj_styleBox->get_texture_margin(SIDE_RIGHT);
					}
					Vector2 pos[4] = {
						mtx.basis_xform(rect.position + Vector2(0, margins[0])) - draw_ofs * draw_zoom,
						mtx.basis_xform(rect.position + rect.size - Vector2(0, margins[1])) - draw_ofs * draw_zoom,
						mtx.basis_xform(rect.position + Vector2(margins[2], 0)) - draw_ofs * draw_zoom,
						mtx.basis_xform(rect.position + rect.size - Vector2(margins[3], 0)) - draw_ofs * draw_zoom
					};
					if (Math::abs(mb->get_position().y - pos[0].y) < 8) {
						edited_margin = 0;
						prev_margin = margins[0];
					} else if (Math::abs(mb->get_position().y - pos[1].y) < 8) {
						edited_margin = 1;
						prev_margin = margins[1];
					} else if (Math::abs(mb->get_position().x - pos[2].x) < 8) {
						edited_margin = 2;
						prev_margin = margins[2];
					} else if (Math::abs(mb->get_position().x - pos[3].x) < 8) {