Stencilを使ったアウトラインの色分け

問題は色々ありますが、色に関しては、CustomStencilの扱い方に問題がある、というところでしょう

CustomStencilは、指定のObjectが存在するPixel上に、Stencil情報を書き込みます
つまり単純にその場所のStencil値を取るだけでは、塗り分けはできません

2重になっている理由ですが、ObjectのあるPixel(Objectに重なっているところ)だけ赤く出力される、という処理になっているためです
(画像1枚目)
SobelFilterは色には寄与せず、どこに色を置くか、という情報しか出力していないため、そのような状態になっています

色を分けたいのであれば、一番単純な方法としては、CustomStencilの値ごとに別々のSobelFilterを用意することでしょう
指定のStencil値のときのみ、Sobel結果を出力するようにできれば、あとはそれを合成するだけで解決できます