Custom exporter does not preserve scaling
Unless you apply scale, rotations, transformation to the mesh the vert coordinates are "local".  Eg for the default plane combinations of -1, 1 for x, y and 0 for z.  If it is the mesh of an object that is scaled by 20 (with no rotation or transformation) then the global coords are 20 times the local.

To get the global coord multiply by the matrix_world of the object.

ob = context.scene.objects.get("Plane")
if ob:
    mesh = ob.data
    # global vert coordinates
    for v in mesh.vertices:
        print(ob.matrix_world * v.co)


btw that print statement is awful..

for i in f:
    v = mesh.vertices[i]
    print("%f %f %f" % v.co.xzy[:], end=" ")
    print("%f %f %f" % f.normal.xzy[:])


Also look at bpy_extras.io_utils.axis_conversion it gives you the matrix to convert from -Z_FORWARD Y_UP to -Y_FORWARD, Z_UP and other combinations.