The asymmetrical nature of the situation in the report was just different starting edges used when they're looped through. offset_meet creates offset lines that can't be directly intersected, so the average of the points on each offset line is 'dropped' onto the faces around the beveled vertex. For the incorrect vertex, it was dropped onto the first face that it was above.
To fix this I used the 'in_plane' face's normal (which we don't slide along anyway because it doesn't affect the silhouette) from the build_boundary function and made sure offset_meet doesn't drop down to a face with that normal.
This patch also includes a bunch of comment formatting updates, but I could easily separate them out if they get in the way. I could also commit this in two parts, the cleanup and the fix itself.