You're absolutely right, you either go for CSS 3D Transforms, or WebGL, WebGL being faster still.
Filters of course work best in webgl. But the rest?
Also, do you use offscreencanvas in chrome?
I currently use WebGL for display preview and 2D canvas for generating the actual image.
I suspect you'll run into performance issues if you plan to animate the image in a 2D canvas context (like I do when rotating / flipping / etc.)
I've been planning to use offscreencanvas but haven't gotten around to it yet.