Did you check what is slow? Querying the features, clipping? You can ignore the edge cases and see if that helps. I also don't know what data structure you use and how costly it is to iterate the features.
Of course the specialized box collider will be faster. But how often do you have boxes in a game? Interestingly I never implemented a specialize collider for Source 2 since the SAT was so fast for me. Sure, it is still O(n^2), but the trick is the feature caching as I point out in the presentation. If the relative orientation doesn't change just re-clip. You just need to look out for the case when you clip away all points. This happens if two shapes slide off each other.
Again, the trick for fast collision detection is not whether you use GJK, SAT, EPA, etc, but to not call any of that functions at all if possible utilizing temporal coherence!
The demo looks good to me. Stability looks fine as well. It would be nice if I could shoot the ball into different directions and also mouse-pick objects to test weird sturdiness.