Normal unit vector in variational formulation

FacetNormal is exactly what you are looking for. And the terms you implemented are correct for the variational form above.

But as you said that Gamma_s is an interface, I would expect it to be a interior surface measure dS which you integrate over, and in this case you have to restrict the quantities using, e.g.,

inner(n_1('+'), u('+'))*q('+')*dS(1)

as described here Integrating over an interior surface

Also, no need to define n_1 and n_2 here, you can just use one object for these (it is the same anyway, and is restricted by the appropriate (surface) measures)

3 Likes