### Godot version

v4.0.stable.official [92bee43ad]

### System information

Windows 10, 64bit

### Issue description

When change `ItemList`‘s icon_scale with code, itemlist not update:
![GIF](https://user-images.githubusercontent.com/35988767/222378909-ff9828aa-6714-478a-abbe-55477f28d85d.gif)

And force call `queue_redraw()`, icon size was udpate, but item border not.
![GIF](https://user-images.githubusercontent.com/35988767/222379478-832c7668-5182-4e1e-bfdb-cc137c19f77a.gif)

And if resize window, itemlist update correct.
![GIF](https://user-images.githubusercontent.com/35988767/222381049-3a45383d-9a40-4598-b64d-ec10d22754d7.gif)


### Steps to reproduce

/

### Minimal reproduction project

[ItemListTest.zip](https://github.com/godotengine/godot/files/10869385/ItemListTest.zip)

}
				bool should_draw_selected_bg = items[i].selected;
				bool should_draw_hovered_bg = hovered == i && !items[i].selected;
				bool should_draw_custom_bg = items[i].custom_bg.a > 0.001;
				if (should_draw_selected_bg || should_draw_hovered_bg || should_draw_custom_bg) {
					Rect2 r = rcache;
					r.position += base_ofs;
					r.position.y -= theme_cache.v_separation / 2;
					r.size.y += theme_cache.v_separation;
					r.position.x -= theme_cache.h_separation / 2;
					r.size.x += theme_cache.h_separation;
					if (rtl) {
						r.position.x = size.width - r.position.x - r.size.x;
					}
					if (should_draw_selected_bg) {
						draw_style_box(sbsel, r);
					}
					if (should_draw_hovered_bg) {
						draw_style_box(theme_cache.hovered_style, r);
					}
					if (should_draw_custom_bg) {
						draw_rect(r, items[i].custom_bg);
					}
				}
				Vector2 text_ofs;
				if (items[i].icon.is_valid()) {
					Size2 icon_size;
					
					if (fixed_icon_size.x > 0 && fixed_icon_size.y > 0) {
						icon_size = fixed_icon_size * icon_scale;