The raw video feed does not always include bad pixel correction from Canon (it's camera-specific). That's why this method is hit and miss.
On some cameras, you can get a raw feed with bad pixel correction, but it also has autofocus dots overlaid on it (I'm not talking about the pink dots, but about lv_af_raw dots). So, the preferred way is to get the feed without bad pixel correction, because on that one you can locate these pixels easily and fix them; good luck fixing the lv_af_raw dots, for example.
Even the photo raw buffer, for example on 5D2, is intercepted by ML before the bad pixel correction. This was throwing off the statistics from raw_diag (since a pixel equal to 0 compared to an average of 1024 will increase the stdev quite a bit).