Thanks for all the ideas. Yes, they all work well for a small design, that’s how I’ve done it in the past.
I know the over/under would need still need to be chosen manually, but I want to get all the adjacent paths at each intersection created on a very complex design, then I can delete the unwanted ones.
Basically I want it to do this:
… instead of this:

(center line is the path, the outer lines are the results of the stroke to path, which effectively does a “union” at each intersection. I don’t want that.)
