### Godot version

Godot Engine v4.0.stable.official.92bee43ad

### System information

Windows 10

### Issue description

The documentation states that passing ```null``` into the image parameter of ```set_custom_mouse_cursor``` will change it back to the system cursor, however I find that it removes the cursor's image entirely, rather than setting it to the system's cursor.


### Steps to reproduce

```var isimage = false
var theimage = load("res://final.png")

func _on_my_button_pressed():
    if isimage == false:
        Input.set_custom_mouse_cursor(theimage, Input.CURSOR_ARROW, Vector2(16,16))
        isimage = true
        
    else:
        Input.set_custom_mouse_cursor(null)
        isimage = false```

When the button is pressed, the cursor is meant to change to the new cursor. When it has been pressed a second time, it changes back to the default cursor. However, upon pressing it a second time, it simply disappears. The cursor becomes visible again when the cursor exits and re-enters the window.

### Minimal reproduction project

[null mouse.zip](https://github.com/godotengine/godot/files/10901969/null.mouse.zip)

int height_mm = DisplayHeightMM(x11_display, p_screen);
	double xdpi = (width_mm ? sc.width / (double)width_mm * 25.4 : 0);
	double ydpi = (height_mm ? sc.height / (double)height_mm * 25.4 : 0);
	if (xdpi || ydpi) {
		return (xdpi + ydpi) / (xdpi && ydpi ? 2 : 1);
	}
	
	return 96;
}
Color DisplayServerX11::screen_get_pixel(const Point2i &p_position) const {
	Point2i pos = p_position;
	int number_of_screens = XScreenCount(x11_display);
	for (int i = 0; i < number_of_screens; i++) {
		Window root = XRootWindow(x11_display, i);
		XWindowAttributes root_attrs;
		XGetWindowAttributes(x11_display, root, &root_attrs);
		if ((pos.x >= root_attrs.x) && (pos.x <= root_attrs.x + root_attrs.width) && (pos.y >= root_attrs.y) && (pos.y <= root_attrs.y + root_attrs.height)) {
			XImage *image = XGetImage(x11_display, root, pos.x, pos.y, 1, 1, AllPlanes, XYPixmap);
			if (image) {
				XColor c;
				c.pixel = XGetPixel(image, 0, 0);
				XFree(image);
				XQueryColor(x11_display, XDefaultColormap(x11_display, i), &c);
				return Color(float(c.red) / 65535.0, float(c.green) / 65535.0, float(c.blue) / 65535.0, 1.0);
			}
		}
	}
	return Color();
}
Ref<Image> DisplayServerX11::screen_get_image(int p_screen) const {