Best guess (as I don't use these tools):
When you place the dark frame in a Photoshop layer, the image data is no longer linear; also, values below 0 are clipped. Therefore, a simple subtraction will probably not do the trick.
Subtracting the dark frame before debayering should do the trick (regardless of what tool you use to do that).
I agree, it's the optimal and the most simple way.
However, after debayering _theoretically_ if there's no clipping|scaling in the dynamic, and if the process of dark frames and light frames are the same (log, etc.), it should _relatively_ match.
In all cases, if you make a *master dark frame* (average of several frames), it will better work. And maybe a small Gaussian smoothing could help too, to correlate with the Gaussian distribution of light frames.