Hi Ajay-
I definitely don't have all of the answers to this one (at the moment). My understanding is that you do not have to provide a mask for surface datasets. Either vertices exist or they don't.
I find it a bit unusual that you're getting a value of 10mm on a surface file smoothed by Freesurfer to 15mm. In that past I've found that the smoothness tends to be a bit higher than the kernel size that Freesurfer uses. But yes, I would take the estimate from SurfFWHM and put it into slow_surf_clustsim.py.
It's hard to say where the difference comes in cluster size estimation. If you can find out how their method works, I suspect that I (or someone on the team) can try and figure out where the differences come in.
For cortical thickness, pial makes sense, though I think you'll get the same results regardless of surface (e.g. white).
PM