In case you weren't aware there's an ongoing project adding Surface hardware support to Linux kernel. It's in a pretty mature state, with most of the features already implemented and working (here is a full breakdown per device). I've been using it on my SP6 for a few years with zero issues.
It might be worth a look until you get to buying new hardware.