Well, almost. The distance between the dockpoints is arbitrary and doesn't matter at all. The way I've always understood it (as backed up by the actual code) the first dockpoint's normal determines the line which the other docked ship matches its normal to, as you're describing it Omni, yes, pitch. The second dockpoint is used to calculate a second normal which lines up the docker's rotation around the primary normal, and for fighters controls heading. That's only about 80% accurate; there is convention to how dockpoints are placed on ships, particularly fighters, so that things aren't just random when you try to dock two ships together; if you think about the docking surface as the plane in which the docker is traveling though, then the second point defines "forward," by

convention.
Since it doesn't crash without the second point, maybe it's defaulting to (0,0,0) and it just happened to look like it was pointing forwards on Omni's model. Because it definitely requires that second dockpoint for orientation.