I don't have a touchscreen so can't comment on that, but pretty sure KDE has support for that stuff - their art/drawing/painting app Krita works with pens/tablets, and there do seem to be some touch gesture related options in the settings app.
Docking just works. Monitors automatically remember your config and switch when you dock/undock. Also it's very easy to make scripts to swap monitor layouts using xrandr (of course, you can do this with the settings GUI, but with scripts you have all the layouts you use just a few keystrokes away if you want to switch to a special layout).
I use 1.5x DPI scaling with my 4k external monitor. The laptop screen is 1080p, so no dpi scaling. It works well, with the one issue that you need to log out and log back in to switch the scale factor - this seems to be the same as on Windows, but not as good as macOS. One option I just started using a few days ago is font scaling. I set the font DPI to 144 (the settings GUI lets you do this), so all text appears at a normal size. Some icons are still tiny - mainly things like the checkmark in an OK button. But it's good enough that I don't notice any egregious issues and don't mind using it. The advantage of this is that you only need to restart a program for it to use a new font DPI. So instead of logging out/in, I just set the font DPI and restart any programs if I need to.
There are a few minor graphical glitches left if you use fractional (not 2x or 3x) DPI scaling, mainly related to 1 px lines sometimes appearing between lines of text in the KDE terminal and text editor. But they'll hopefully be fixed soon, and I haven't noticed any other issues.
KDE has had a bad reputation in the past, but these days it is a very polished, fast, and feature-rich environment that just works and lets you get your work done. They have KDE Neon, which is the 'official' (I think) Ubuntu-based KDE distro, if you want to try it out.
It's a bit janky but no more janky than actually running Linux on a laptop. No worries about my HDMI projector connection working, no fighting with wifi, games on Steam work, and I get a full Linux for development.
The magic comes from proxying my development servers (like Django's) through the guest machine into Windows. I've got it set up so that if I type `localhost:8000` into any Windows browser, it hits my virtual machine's localhost.
So yeah, complicated, but from what I can see it gives me the best setup I know of with the least amount of fighting with the operating system.
I think I will try this on one of my windows computers. I can't switch from Mac to Linux because I use too much non Linux software, but most of it is on Windows. Adobe suite, Ableton, Native Instruments, etc.
Does anyone know a way to virtualize Linux like the thought above please?
If you can set up Linux, you can set this up too.
Works without any issues for me.
I have used various distros on and off over the years, but today I can run Windows 10 on a Surface Book 2, and the non-development portions of my experience are spectacular, for the low, low price of selling my soul: lazy file syncing with OneDrive, pen support combined with OneNote is spectacular. Unfortunately, WSL only gets me so far when I want to use more than vim. For better or worse, I don't get to spend all of my time coding, so I'd like Linux with a real, modern notebook experience that can let me get my work done without praying to the gods that my external monitors come back on when I plug in.