More or less I think until step 3 you are on your way.
You could use this tool New Dynamic Modeler Tool: Select by Points to extract the surface
Then use the this filter VTK: vtkMassProperties Class Reference to calculate the surface area.
Also try to take a look at how the surface area calculation is implemented on the Models module of Slicer as I think you may need to preprocess your input with the triangle filter with some non-default option
Or you could just simply check the surface area of the (cropped) selectByPointsModel on the information panel of the Models module. I think that would be enough
Hope it helps