Take winex11.drv for example, there are four functions that use GDI display names. They are X11DRV_ChangeDisplaySettings, X11DRV_GetCurrentDisplaySettings, X11DRV_GetDisplayDepth, and X11DRV_UpdateDisplayDevices. I think we would want to work towards the goal of using physical display names here so we can move the GDI display names to physical display names mapping to win32u. Since winex11.drv already have such a mapping but winewayland.drv doesn't. We could also support such a mapping in win32u first for winewayland.drv. And then gradually phase out the winex11.drv internal mapping. So the wl_output name should be in "struct monitor" instead.
I would prefer "struct gpu" or "struct adapter" for physical GPU and "struct monitor" for physical display outputs. Then "struct gdi_adapter" and "struct gdi_monitor" can be constructed from the physical display information. This way, we have a clear separation between physical and logical/GDI displays.