So in the end due to the original response I ended up coding my own style solution, making a blueprintable class for each control type and having most of the same data as the old styles in there. I then had to extend each of the UWidget classes for the ones I cared about (UButton, UTextBlock etc) and allow them to have a TSubClass of the correct style class, and then wrote some code to take that and apply it to the underlying Slate Widget.
I also made it that any changes to the actual properties on the UButton (Etc) would override the style for that property only. A bit of extra grunt work, but did what we needed it to do.
If anyone else wanted to try such a thing I am happy to share some pointers, of course you need a code based project for this.