Render back faces in deferred

I am trying to render back faces of an object in Unity 5. The aim is to have the front faces lit with the standard Unity 5 shader and the back faces in an unlit color.

But it doesn’t work in deferred rendering mode.
Here is the shader code.

Shader "Custom/Custom" {
	Properties {
		_Color ("Color", Color) = (1,1,1,1)
		_MainTex ("Albedo (RGB)", 2D) = "white" {}
		_Glossiness ("Smoothness", Range(0,1)) = 0.5
		_Metallic ("Metallic", Range(0,1)) = 0.0
		_ColorBackfaces ("Color Backfaces", Color) = (1,1,1,1)
	}
	SubShader {
		
		Pass {
            Cull Front
            Color [_ColorBackfaces]
       	}
        
		Tags { "RenderType"="Opaque" }
		Cull Back
		CGPROGRAM
		#pragma surface surf Standard fullforwardshadows
		#pragma target 3.0
		sampler2D _MainTex;
		struct Input {
			float2 uv_MainTex;
		};
		half _Glossiness;
		half _Metallic;
		fixed4 _Color;
		void surf (Input IN, inout SurfaceOutputStandard o) {
			fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
			o.Albedo = c.rgb;
			o.Metallic = _Metallic;
			o.Smoothness = _Glossiness;
			o.Alpha = c.a;
		}
		ENDCG
	} 
	FallBack "Diffuse"
}

Try running it as 2 surface shaders:

     Shader "Custom/Custom" {
         Properties {
             _Color ("Color", Color) = (1,1,1,1)
             _MainTex ("Albedo (RGB)", 2D) = "white" {}
             _Glossiness ("Smoothness", Range(0,1)) = 0.5
             _Metallic ("Metallic", Range(0,1)) = 0.0
             _ColorBackfaces ("Color Backfaces", Color) = (1,1,1,1)
         }
         SubShader {
             Tags { "RenderType"="Opaque" }

             Cull Front
             CGPROGRAM
             #pragma surface surf Lambert
             #pragma target 3.0
             struct Input {
             };
             fixed4 _ColorBackfaces;
             void surf (Input IN, inout SurfaceOutput o) {
                 o.Emission = _ColorBackfaces;
             }
             ENDCG
             
             Cull Back
             CGPROGRAM
             #pragma surface surf Standard fullforwardshadows
             #pragma target 3.0
             sampler2D _MainTex;
             struct Input {
                 float2 uv_MainTex;
             };
             half _Glossiness;
             half _Metallic;
             fixed4 _Color;
             void surf (Input IN, inout SurfaceOutputStandard o) {
                 fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
                 o.Albedo = c.rgb;
                 o.Metallic = _Metallic;
                 o.Smoothness = _Glossiness;
                 o.Alpha = c.a;
             }
             ENDCG
         } 
         FallBack "Diffuse"
     }