Hey. Let me start off by saying that this script is great and I'm really thankful for it. There's still some room for improvement but it makes the experience much much more enjoyable.
So, I'm working on modding the lemmy-ui source code to work on a modded Lemmy instance I'm building with some friends. I've only been working on it for a couple days so I'm quite ignorant myself, but I have a few ideas about your project.
So, I don't think this could be a theme because it does something fundamentally different. A theme is simply a set of colours, fonts and other customization options that describe how Bootstrap should make the content that's already defined look like. Example, this is what a theme's code looks like.
What you are doing instead, is replacing the Bootstrap code itself, which is beyond a theme's scope. You are touching the page's code.
As far as I know, Lemmy has no way of toggling a feature like this on a user level so user scripts might be your best bet for the time being. However, I like the design so much (and on my instance we are all Reddit refugees anyway) that I'm considering making it the official layout of my instance. I'd still need to figure out how that would work in the details, but I think it could be done without excessive trouble.
As a sidenote, reading your code I saw you used the browser's user agent to check for mobile users. I'd avoid doing that because users can actually modify their user agent if they want to, and some people who really care about their privacy have extensions that do so automatically. Instead you could try using media queries and the window.matchMedia() function (not sure if it's suported in user scripts as I'm quite the noob in that field, but that's how I'd do it in a web page).