These dark blotches are, I think, due to photon noise (Shot noise - Wikipedia)
Basically, few photons hit that pixel, so the pixel is completely black.
If the pixel is black only on one of the 3 channels, the denoiseprofile can lead to ok results.
But denoiseprofile is generally struggling at lot at removing pixels that are black on all 3 channels.
My advice here is to use denoise bilateral, which smooths more dark areas than bright ones. It can be used combined with denoiseprofile or alone.
If you are using darktable dev build, you can also try putting an instance of denoise bilateral before denoise profile, it works quite well.
Also if you are using darktable dev build, for denoiseprofile, you can try using non local means with a big patch size (the parameter value can take values in [0,10] with right clic), setting the scattering parameter so that few chroma noise remain visible, and setting the details parameter at the end to get back some details
Hope this will help