I have not yet dealt with ShapeGeometry in detail.
But I noticed that Raycaster is much too complex for the simple thing. It is only the intersection of the plane with a vertical line. You have all values and can calculate the z component easily.
You get it from the vector-formula of the normal form of the plane. (x-p)*n = 0
for ( var i = 0; i < points.length; i ++ ) {
x = points[ i ][ 0 ];
y = points[ i ][ 1 ];
z = ( zp * zn - ( x - xp ) * xn - ( y - yp ) * yn ) / zn;
console.log( 'x, y, z ', x, y, z );
planePoints.push( new THREE.Vector3( x, y, z ) );
}
see PlanePoints