a) It's obviously not long-winded... just a few lines of code.Apparently, Redbubble have had difficulties in displaying their sticker product images and have come up with a long-winded work-around in fabric.js - Sticker Effect on Transparent PNGs with HTML5 Canvas
b) fabric.js is obviously not used for this part.
c) There is a reason it's done this way. If they have the full size version of the graphic on the client-side, people will just steal it.
What makes ImageMagick "special" on the server-side is its ability to process huge images with very little RAM (ie $5 servers with 1GB RAM).Using WASM-ImageMagick you now have the power of IM running natively in the user's browser, with no calls to the server required and no Node.js required. Pure Vanilla JS.
For client-side applications, canvas/WebGL are better and easier options.