Finite morphism implies finite on spectra

Statement
Suppose $$f:R \to S$$ is a homomorphism of commutative unital rings that is finite; in other words, $$S$$ is a finitely generated module over $$R$$. Then, the induced map on spectra:

$$f^*: Spec(S) \to Spec(R)$$

that sends a prime ideal of $$S$$ to its contraction in $$R$$, has finite fibers: in other words, the inverse image of any point is a finite set.

Unlike the case of lying over, we do not assume injectivity of $$f$$.

Proof
Although the result is true for a general map, it actually suffices to prove it in the case where $$f$$ is injective (this may make things conceptually simpler, though the proof details do not change).

We start with a prime ideal $$P$$. The proof relies on the following key result:

If $$K$$ is a field of fractions of the integral domain $$R/P$$, then the prime ideals of $$S$$ that contract to $$P$$ in $$R$$, are in bijective correspondence with the elements of $$Spec(K \otimes_R S)$$, which is the same as $$Spec(K \otimes_{R/P} S/P^e)$$.

With this result, the proof reduces to the observation that since $$f$$ is finite, $$K \otimes_R S$$ is finite-dimensional as a $$K$$-vector space, and hence is a zero-dimensional ring (true for any algebra that is finite over a field).