If the output changes if you disable the parallel option, then that’s probably a bug. However it looks like both your Boundary components are already parallel=off.
The Boundary Surfaces component tries to create as few output surfaces as possible. This may involve joining open curves into closed loops, as well as using some loops to cut holes into surrounding surfaces.
Because of this, the number of output surfaces of the component is not typically the same as the number of input curves. Hopefully, many input curves all contribute to a single output surface. If we cannot even count on the amount of data to remain constant, we certainly cannot expect the ordering to be the same.
If you have a situation where you want each individual curve to yield an individual surface, then you should just connect your curves into a Surface parameter, which will perform this conversion automatically (the curves do all have to be planar and closed for this to work), while preserving order.