I was using an old (2nd or 3nd Gen) Surface Pro for several months doing this, and apart from it being Windows based (ugh) it was pretty good. Until I dropped the thing. o_O
I have a Surface Book now, that I put Linux on for a while (bad idea, super flaky with Surface Linux). I'd probably recommend the Surface Pro again over the Surface Book, and just put up with Windows (ugh x2). Using the AtlasOS variant at least, so less crappy compared to stock Windows.