Hi Nick,
On DBE, I don't know what to suggest. In my testing, DBE on the denoised image gives basically the same type of result as on the original image. My testing used the automatic sample generation. Note my testing of this has not been in depth, so maybe I am missing something.
The script is designed to work on the whole image, and to not need a mask. If a mask is set, the script ignores it and then goes on to denoise the entire image. As a workaround, if needed, you could use PixelMath to mix the original and the denoised result, using the mask as a mixing parameter. But this takes a bit of math and might not be easy to do.
Mike