For the Fiat-Shamir transform, HVZK becomes ZK because the verifier sends nothing to the prover. The ZK simulator generates $(a,e,z)$ from the HVZK simulator and reprograms the oracle so that $H(a)=e$. This works because $c$ is uniformly random and the verifier cannot have known the value of $H(a)$ before the reprogramming (except with negligible probability).
A similar trick doesn't work with the scheme you propose since the verifier can query $H(e)$ before step 2, making reprogramming harder. The verifier can also influence the distribution of $e'$, for example by querying the oracle on many points and rejection sampling. If the simulator could somehow guess the challenge $e$, it could generate a transcript for a uniformly random challenge $e'$ and reprogram the oracle as $H(e)=e'$. But the probability of making the right guess is exponential in the size of $e$ and even if we were to make this size logarithmic and use rewinding, we run into issues. The verifier could compute the full table for $H(e')$ since there are only polynomially many possible values, making reprogramming impossible.
But as you hinted in your question, this scheme does not seem all that useful, especially in a model (the ROM) where you can make the whole thing non-interactive.