In the literature [*], the "proof" is an actual proof, but that's not what the prover sends to the verifier. Rather, the verifier queries random pieces of the proof, eventually convincing themselves that with high probability, the prover knows a valid proof.
[*] At least in most of the older literature descending from the PCP literature. Modern papers sometimes abandon that distinction and just use "proof" and "argument" interchangeably.
That's why it's sometimes called an "argument" or specifically a "cryptographic proof". You can construct the statement such that it can be "proven" in a traditional sense by adding qualifiers such as "with probability more than 1-1/(2^256)". You'll generally need an assumption like knowledge-of-exponent or at least hash soundness.
I thought you were right until I decided to look into it myself, turns out we were both wrong. Zero-knowledge proofs are probabilistic and contain a soundness error which is the probability of guessing the correct answer. This can, in some but not all cases, be brought down arbitrarily close to 0, but it can never be 0 exactly.