You can also determine the expression for $\nabla$ in other coordinate systems just by using the Jacobian.
Let $f(r) = r' = \rho e_1 + \varphi e_2 + z e_3$ be our nonlinear coordinate transformation, with $e_i$ being cartesian basis vectors.
Now, let $\phi'(r') = \phi(r)$ for some scalar field $\phi$. For any vector $a$, the chain rule then tells us that
$$a \cdot \nabla \phi = [(a \cdot \nabla )f] \cdot \nabla' \phi'$$
The quantity $(a \cdot \nabla)f$ is the Jacobian (hint: evaluate it with respect to basis vectors for $a$ and then to extract components of the resulting vector). We'll call the Jacobian $\underline f(a)$ when it acts on some vector $a$. The law above can be rewritten as
$$a \cdot \nabla \phi = \underline f(a) \cdot \nabla' \phi'$$
But, we can transpose the Jacobian (or more precisely, use the adjoint operator) to have it act on $\nabla'$ instead!
$$a \cdot \nabla \phi = a \cdot \overline f(\nabla') \phi' = a \cdot \overline f(\nabla') \phi$$
Or more succinctly,
$$\nabla = \overline f(\nabla')$$
The expression for $\nabla'$ is easy enough: it's $\nabla' = e^1 \partial_\rho + e^2 \partial_\varphi + e^3 \partial_z$. This is not enough, however. We actually want $\nabla$, just expressed in terms of the cylindrical coordinate partials. To get that, we must find $\overline f(\nabla')$.
Calculating the Jacobian (and its adjoint) is more of a tedious than complicated process. Let's just take as given that the adjoint Jacobian is
$$\begin{align*}\overline f(e^1) &= e^\rho \\ \overline f(e^2) &= e^\varphi \\ \overline f(e^3) &= e^3 = e^z\end{align*}$$
The vectors $e^\rho, e^\varphi, e^z$ form the basis covectors in cylindrical coordinates. They are not all normalized--in particular, $e^\varphi \cdot e^\varphi = 1/\rho^2$. (Actually carrying out the computation of the Jacobian generates these expressions in terms of cartesian basis covectors, which is instructive, but not really necessary. It is, however, one way you verify the norm of $e^\varphi$.) This makes $\nabla$ equal to
$$\nabla = e^\rho \partial_\rho + e^\varphi \partial_\varphi + e^z \partial_z$$
In this light, the gradient is actually pretty trivial because, as long as the new coordinate frame is orthogonal, you get a result like this. Maybe one of the basis covectors is non-unit, but that's not really a big deal. The divergence tends to be more interesting because you have to account for the transformation law for the underlying vector field (is it actually a vector field? is it instead a covector field?) and because the dot product requires you to transform $\nabla$ and the field separately.
Long story short: because you expressed $\nabla$ in terms of basis vectors instead of covectors, you got what looks like the wrong result but isn't. $e_\varphi$ is indeed equal to $e^\varphi \rho^2$, and neither has unit magnitude, as Jason points out.
This approach is the basic idea behind that of tetrads or frame fields. Note that the metric $\underline g(a) = \overline f^{-1} \underline f^{-1}(a)$, so everything you naturally do with the metric can be done with the Jacobian (or, in a case where the underlying space isn't flat, with the frame field) instead.
"...I feel like this is too good to be true". Your question is perfectly legit since changes of coordinates are always tricky for differential operators. But luckily there is a general and well known theory, dubbed "curvilinear coordinates".
The answer is: YES, it is correct, but for a scalar field only. Do not try to extend naively this formula to higher-rank fields. Example: the directional derivative of a vector field in cylindrical coordinates is much more complex than this. Take a look at:
https://link.springer.com/content/pdf/bbm%3A978-3-0348-8579-9%2F1.pdf
The general topic of your question is how "orthogonal curvilinear coordinates" work: this includes the standard cartesian, cylindrical and spherical coordinates.
Best Answer
Given a function in cylindrical coordinates $f(r, \phi, z)$, the gradient of $f$ is
$$\nabla f = \frac{\partial f}{\partial r} \textbf{e}_r + \frac{1}{r}\frac{\partial f}{\partial \phi} \textbf{e}_\phi + \frac{\partial f}{\partial z} \textbf{e}_z,$$
where $\{\textbf{e}_i\}_\text{cyl}$ is the standard orthonormal basis in cylindrical coordinates. One can obtain this formula simply by finding the directional derivatives of $f$ in Cartesian coordinates with respect to the elements of $\{\textbf{e}_i\}_\text{cyl}$.