I am happy with WSL as well. I don’t try to get Linux GUI running.
I use vscode remote ssh session. I run docker natively on Linux, not on windows.
The trick is to get DBUS services running in whatever flavor of Linux you install. Don’t try running a full UI session.
The biggest problem I have on Linux is time drift after laptop goes to sleep. it is easy to deal with manually.
I actually run away from Mac. Mac OS X is long time as not Linux.
WSL is a way better option than whatever VM option is on Mac.