Llego un poco tarde a la fiesta, pero encontré una solución bastante ordenada que resuelve este problema solo con la manipulación de CSS. En mi caso, no pude cambiar el tamaño de la fuente por motivos de diseño, y tampoco pude desactivar el zoom.
Dado que el iPhone ampliará ligeramente los campos del formulario si el texto está configurado en menos de 16 píxeles, podemos engañar al iPhone para que piense que el tamaño de fuente es de 16 píxeles y luego transformarlo a nuestro tamaño.
Por ejemplo, tomemos el ejemplo cuando nuestro texto es de 14px, entonces hace zoom porque es menor que 16px. Por lo tanto, podemos transformar la escala, según 0.875.
En el siguiente ejemplo, agregué el relleno para mostrar cómo convertir otras propiedades en consecuencia.
.no-zoom {
font-size: 16px;
transform-origin: top left;
transform: scale(0.875);
padding: 4.57px;
}
¡Espero que ayude!