I've managed two ways to get SVGs working with Prismic. A simple way that only renders the SVG, and a more advanced way that can do everything you described. I imagine their website uses something similar.
For both solutions we start with an image selector in Prismic where we will later upload the SVG file:
In our code, we then take that image URL and load the file. Once the file is loaded all that's left is to convert it to text & render it into the code. Here's a very short, functioning code example:
After you've created your group, on the code side we do the same as the basic solution I described above. However after loading the SVG file, we need to add a step to parse the SVG from text into HTML. Once it's parsed, now we're able to modify properties like stroke width & color using normal javascript: