Sorry for the late response.
Both SetForceTranslucent(true) and using two layers for rendering can prevent points from disappearing. It’s cool! And if we want the points on the occluded surfaces in the mesh not to be displayed, we may need additional clipping. I will also try to customizing vtkPolyDataMapper. Thanks to Paulo for the idea!
RenderPointsAsSpheresOn indeed quickly resolves the occlusion issue, thanks for the update on the example!