This kind of animation on the wrapper with overflow hidden is not really a mask. It is like said a wrapper element (DIV) therefore the top and left position get and should be added to its children. Looking at is as a mask is a common hack but I don’t think therefore that keeping the content static will be a feature (in my opinion) also it can be done with the timeline and I often do it too. So it not lame but common and good practice.
If you want to use this trick with a drag handler it fails as it flickers you then need to sync it to renderframes and here is an example to do it (using an m”Mutation Observer) Transparency Effect with ClipPath
In that Thread is also a real mask example using a SVG mask written by @DBear
Hope this helps you or any future visitors that find this topic.