I’ll try to keep it short and simple — I couldn’t find anything that directly addressed this issue, but in my opinion the way masks work in Figma is not optimal.
Full disclosure, I come from a very comfortable with Adobe Illustrator angle (which essentially established the standard way to apply masks as far as I’m aware, and with good reason).
The problem with needing the mask object under the object that is being masked, is that the mask object will invariably be smaller than the target object, and therefore this makes it extremely fussy to both select the correct items for masking and editing the mask layer itself.
Once a mask is applied, to edit the vector points of the mask, the only way I can see is to find the mask layer in the layers panel and hit enter or the “edit object” button in the toolbar. This is a serious workflow killer when considering you could just double click into the mask object had it been on the layer above.
That’s it! Please consider changing the mask behaviour — I know that all my colleagues feel the same way as I’m sure others do. Thanks!
Edit: I have now been introduced to the technique of using a shape as a mask for images specifically (requiring images already in figma to be copied with “copy properties” and pasted into the shape). This is an interesting workaround specifically for images, but doesn’t work with components or groups, etc – hence a more robust masking solution would be preferable imho