plotting – Why ContourPlot is not working with functions

I found issues of evaluation order one of my commonest problems in learning Mathematica. As @Domen suggested, you can evaluate the expression to force the substitution of z

g = x^2 + 4 y^2 - z^2;
ContourPlot[Evaluate[g == 0 /. z -> 1], {x, -2, 2}, {y, -2, 2}]

enter image description here

As an alternative, you can substitute a local value for z using Block

Block[{z = 1}, ContourPlot[g == 0, {x, -2, 2}, {y, -2, 2}]]

enter image description here