I got round the problem by using the MagickImage.Transparent method on the mask before blurring it, just with black as the color argument, then blurred the mask to smooth the edge.
magickMask.Transparent(new MagickColor(0,0,0));
if (blur != 0) magickMask.Blur(-blur, Math.Sqrt(blur), Channels.All);
first.Composite(magickMask, Gravity.Center, CompositeOperator.CopyOpacity);
Still seems like this solution is one step longer than it need be, though.