### Godot version

4.1 dev3

### System information

W10

### Issue description

The button is pushed to the far right. Maybe it tries to escape, idk.

![image](https://github.com/godotengine/godot/assets/2223172/becb32f6-f725-4564-952e-946ec544c376)

It used to be more to the left. Not sure when it changed.

Seems correct in 4.0.3

![image](https://github.com/godotengine/godot/assets/2223172/3e3d206a-481d-415a-acb4-40cbf4a60fc0)


### Steps to reproduce

1. Add TileMap
2. Look to the right

### Minimal reproduction project

N/A
zoom_widget->set_zoom(p_zoom);
	panning = p_panning;
	_update_zoom_and_panning();
};
void TileAtlasView::set_padding(Side p_side, int p_padding) {
	ERR_FAIL_COND(p_padding < 0);
	margin_container_paddings[p_side] = p_padding;
}
Vector2i TileAtlasView::get_atlas_tile_coords_at_pos(const Vector2 p_pos, bool p_clamp) const {
	Ref<Texture2D> texture = tile_set_atlas_source->get_texture();
	if (!texture.is_valid()) {
		return TileSetSource::INVALID_ATLAS_COORDS;
	}
	Vector2i margins = tile_set_atlas_source->get_margins();
	Vector2i separation = tile_set_atlas_source->get_separation();
	Vector2i texture_region_size = tile_set_atlas_source->get_texture_region_size();
	
	Vector2 pos = p_pos - margins;
	Vector2i ret = (pos / (texture_region_size + separation)).floor();
	
	Rect2i rect = Rect2(Vector2i(), tile_set_atlas_source->get_atlas_grid_size());
	if (!p_clamp && !rect.has_point(ret)) {
		return TileSetSource::INVALID_ATLAS_COORDS;
	}
	
	ret.x = CLAMP(ret.x, 0, rect.size.x - 1);
	ret.y = CLAMP(ret.y, 0, rect.size.y - 1);
	return ret;
}
void TileAtlasView::_update_alternative_tiles_rect_cache() {