How to set shader vertex normals to face up

I am having a lot of trouble with this and haven’t been able stumble upon the answer. Here’s what I’ve tried:

			void vert (inout appdata_full v, out Input o)
			{
				#if defined(PIXELSNAP_ON)
				v.vertex = UnityPixelSnap (v.vertex);
				#endif

				fixed3 normal = mul(unity_ObjectToWorld, v.normal);

				v.normal += abs(normal - fixed3(0,1,0));

				UNITY_INITIALIZE_OUTPUT(Input, o);
				o.color = v.color * _Color * _RendererColor;
			}

			void vert (inout appdata_full v, out Input o)
			{
				#if defined(PIXELSNAP_ON)
				v.vertex = UnityPixelSnap (v.vertex);
				#endif

				v.normal = fixed3(0,1,0);

				UNITY_INITIALIZE_OUTPUT(Input, o);
				o.color = v.color * _Color * _RendererColor;
			}

And others.

I’m trying to do this to get my billboarding sprite to be lit from behind. Other questions asked on this topic are unresolved:

https://answers.unity.com/questions/1468837/how-to-light-a-plane-from-behind.html
https://forum.unity.com/threads/lighting-sprites-uniformly-from-behind.686731/

Assuming you’re using a surface shader, you can just use a custom lighting function that ignores normals altogether and just samples the light’s attenuation;

#pragma surface surf Uniform ...

//Then, later in the shader
half4 LightingUniform (SurfaceOutput s, half3 lightDir, fixed atten)
{
    half4 c;
    c.rgb = (s.Albedo * atten) * _LightColor0.rgb;
    c.a = s.Alpha;
    return c;
}