As indicated with 1) and 4), I wouldn't even start with properly cutting but rather just do a one-node "tree" that has just a leaf node with all faces. It might work quite well.
Does this mean the distance is based on the parent plane or am i just not understanding something?
fDist is where split plane locates based on planetype, ex, you have a planetype 0 (YZ-plane) and fDist 15, so the split plane is located at offset ( 15, 0, 0 ) with Normal as ( 1, 0, 0 ), I think the offset is relative to current node's bounding box center. The BSP root ( ie. node 0 )'s bounding box is the WMO's boundingbox, then you subdivide it with plane and fdist, then you got two children with two bounding box, and so on. you got the whole BSP tree.
Also fun fact, despite being a float fDist is always an integer value.