What's happening is that indeed the degree of your curve (when it is a curve) is the product of the degrees of the $p_i$, counted with multiplicity! In other words, the intersection scheme has that degree.
In your example in the last paragraph, the intersection is actually $d\cdot C$, so getting degree $d$ for $C$ is the correct answer. The issue is that in this example the intersection multiplicity of the defining equations is $d$ everywhere along the intersection.
Here is a specific example to see what's happening:
Let's say that $d=2$, $f_1(z)=z^2+l_1(z)$ and $f_2(z)=z^2+l_2(z)$ where the $l_i$ are linear polynomials in $z$. Then the ideal generated by $x-f_1(z)$ and $y-f_2(z)$ contains $x-y+l_1(z)-l_2(z)$, a linear polynomial and you get the same ideal with the generators $x-f_1(z)$ and $x-y+l_1(z)-l_2(z)$. If you take the intersection of these two hypersurfaces, then you get the correct degree $d=2$. You can easily see that if you take a local ring of the ambient space at a point of the intersection curve, then the original defining equations are both in the square of the maximal ideal, so their intersection multiplicity has to be (at least) $2$.
By the way, intersection theory should be really done in the projective space.