The precisions of varyings can differ between the vertex and fragment shader. See the section "Precision Qualifiers" in the OpenGL ES Shading Language 1.00 specification at
https://www.khronos.org/registry/OpenGL/index_es.php .
If your vertex shader is running with good performance using the default highp precision, I would recommend not changing it.
On the other hand, to work on the broadest range of mobile GPUs, it's best to use mediump precision in the fragment shader. highp support is mandated as of OpenGL ES 3.0 (WebGL 2.0), but still, using reduced precision will probably perform better on a broader range of GPUs.
The precisions of uniform variables shared across the vertex and fragment shader must match. This is defined in the ES 2.0 spec.
-Ken