### Godot version

4.1 beta1

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

When I change tile source, the view is initialized at a wrong position. After scrolling it for the first time, the position gets re-adjusted.

https://github.com/godotengine/godot/assets/2223172/830cef4a-10f0-4fa5-9172-e7f8015330eb

It wasn't happening before.

### Steps to reproduce

1. Create a TileMap with TileSet
2. Add a sufficiently big tile atlas source
3. Add another source, so that you can switch between the 2
4. Switch to the other source and then to the big one
5. Scroll

### Minimal reproduction project

The texture from the video: https://github.com/godotengine/godot/assets/2223172/7ac78271-84d0-48ab-ae28-45841e2e0880
data.is_rtl_dirty = true;
			_size_changed();
		} break;
		case NOTIFICATION_EXIT_TREE: {
			release_focus();
			get_viewport()->_gui_remove_control(this);
		} break;
		case NOTIFICATION_READY: {
#ifdef DEBUG_ENABLED
			connect("ready", callable_mp(this, &Control::_clear_size_warning), CONNECT_DEFERRED | CONNECT_ONE_SHOT);
#endif
		} break;
		case NOTIFICATION_ENTER_CANVAS: {
			data.is_rtl_dirty = true;
			CanvasItem *node = this;
			bool has_parent_control = false;
			while (!node->is_set_as_top_level()) {
				CanvasItem *parent = Object::cast_to<CanvasItem>(node->get_parent());
				if (!parent) {
					break;
				}
				Control *parent_control = Object::cast_to<Control>(parent);
				if (parent_control) {
					has_parent_control = true;
					break;
				}
				node = parent;
			}
			if (has_parent_control) {