Split For Each should suffice this requirement. It takes the page list as input and launches parallel flows based on the size of the page list. Moreover, it also provides configuration to decide when to resume the parent flow.
The split for each is being called in series fashion. The connect rest configured in the flow waits for the first time execution to get completed before proceeding to the next execution. The services are configured to run in parallel but Pega calls it in series fashion (this was confirmed by the timestamps of service hit).
Split for each is not a true parallelism per say. It only achieves business parallelism. In your use case, it will finish processing first flow till it reaches a stopping point (assignment) and then moves to next flow.
Split For Each works fine for your requirement for running the same flow for multiple times(For each page in pagelist) parallely and you have an option to resume the main flow(by completing any,some,all flows). By default Split For Each run all the flows parallely and also you have an option to iterate the flows one by one.
Split For Each might work as is, but the requirement is to execute rules for each embedded page based on the content of that page. So, you will need to tweak it a little bit here and there to make it work for your scenario.