Using mask as a garbage matte to hide an object
In your first attempt you are replacing the original alpha with the mask, you need to combine the original alpha (the render) with the new alpha (the mask):



Which would result in:



Based on this render and mask:




That's essentially what you're doing in your solution that doesn't 'seem right'. This is just a slightly simpler way of doing that.