$f |_{X \cap H}$ is nonconstant if and only if there are two points of $X \cap H$ which $f$ sends to different points of $C$. For a pair of points in $C$, being different is an open condition - it's just the complement of the diagonal in $C \times C$.
Consider the subvariety $(Y \in \mathbb P^n)^*$ which sends consists of the points in $\mathbb P^n$ lying in the hyperplane in $(\mathbb P^n)^*$. Let $X \cap Y$ be its intersection with $X$ in $\mathbb P^n$. Taking the fiber product of this with itself over $\mathbb P^n$, we obtain a family over $(\mathbb P^n)^*$ whose fiber over each point is the space of pairs of points in $X \cap H$. This maps to $C \times C$, and the pullback of the complement of the diagonal is an open subset which consisits of pairs of points which map to different kinds of $C$.
The desired locus is just the pushforward of this down to $(\mathbb P^n)^*$. We need to check that the pushforward of this open set is open, which means we need the morphism to be open. This is clear because it is flat of finite type. It's flat because it is the fiber product of two hypersurfaces in constant families.
However there is one caveat. To get $X \cap H$ flat, we need $H$ to never contain $X$ ( the zero-divisor condition.) If $H$ is contained in a hyperplane, you could have problems. For instance if $X = \mathbb P^1$, $C= \mathbb P^1$, $f$ the identity, $f|_{X\cap H}$ is constant unless $H$ contains $X$, which is a closed ondition.