### Godot version

4.0.beta10.official

### System information

Pop!_OS 22.04

### Issue description

After assigning a bone to a polygon, if the bone is not at the initial position (0,0), a strange behavior occurs when moving or rotating the bones.

The polygon is translated to incorrect positions (it seems to be based on the center of the original texture and not the polygon itself.

![godot4-09-01-2023 13-32](https://user-images.githubusercontent.com/1427790/211311363-9d33ce77-b1cd-4d0e-b607-3fce9fe35b86.gif)

Trying the exactly same nodes on v3.5.1 behaves correctly.

![godot3-09-01-2023 13-22](https://user-images.githubusercontent.com/1427790/211311637-c7c33a93-3918-4037-b545-6284b046bc97.gif)

There are a similar closed issue for Godot 3:
https://github.com/godotengine/godot/issues/48348


### Steps to reproduce

1. Add a Polygon2D node to the root
2. Assign a texture to the Polygon2D and edit the polygon UV to cut the desired part
3. Move it to a new position
4. Add a Skeleton2D node to the root
5. Add a Bone2D node to the Skeleton2D
6. Assign the Bone2D to the Polygon2D and proper weight to de polygon UV
7. Rotate or move the Bone2D

### Minimal reproduction project

[godot4_bones2d_issue.zip](https://github.com/godotengine/godot/files/10373343/godot4_bones2d_issue.zip)

uint32_t index_count = 0;
				RID index_buffer;
				RID index_array;
			};
			LOD *lods = nullptr;
			uint32_t lod_count = 0;
			AABB aabb;
			Vector<AABB> bone_aabbs;
			RID blend_shape_buffer;
			RID material;
			uint32_t render_index = 0;
			uint64_t render_pass = 0;
			uint32_t multimesh_render_index = 0;
			uint64_t multimesh_render_pass = 0;
			uint32_t particles_render_index = 0;
			uint64_t particles_render_pass = 0;
			RID uniform_set;
		};
		uint32_t blend_shape_count = 0;
		RS::BlendShapeMode blend_shape_mode = RS::BLEND_SHAPE_MODE_NORMALIZED;
		Surface **surfaces = nullptr;
		uint32_t surface_count = 0;
		bool has_bone_weights = false;
		AABB aabb;
		AABB custom_aabb;
		uint64_t skeleton_aabb_version = 0;
		Vector<RID> material_cache;
		List<MeshInstance *> instances;
		RID shadow_mesh;
		HashSet<Mesh *> shadow_owners;