Any ideas why the order of a list may change? At the attached file, at the first group the surfaces and the rectangles are in the same order. After joining the wires of the surfaces the order changes. This didn't happen at the second group
When you Flatten the border curves at the INPUT of [Join Curves], you have effectively erased the list order of the original surfaces. You should let them join inside their own branches, then Flatten the OUTPUT to eliminate the branches.