Ah the JL lemma. Probably one of my favorite too. I'm teaching a mathematics of data course next semester, and even though we don't assume probability as a prerequisite I'm going to find a way to talk about that idea.
If you preserve the l2 distance you preserve the inner product, that's somewhat tautological in an L2 space. Just that the degree you can preserve inner products can be misleading, main problem is that orthogonal vectors may only become near-orthogonal which is sometimes a big deal, though perfect correlations are preserved because the JL transform is linear. Both can be seen looking at: https://en.wikipedia.org/wiki/Polarization_identity
As far as I can recall JL holds for affine transformations too, in any case it's an existence result. Have to double check on the affine bit.
The popular proof does uses random linear transforms and they indeed will not change the origin, but that's just one class of transforms with the JL property.
So it needs judicious care when used along with algorithm s that work with inner-products