You can check the OOTB activity Work- .pyReopenToStage.
By default, Work-.pyReopenToStage shows the flow action to reopen the last stage in the flow action, with an alternate choice to change to any stage. You can customize Work-.pyReopenToStage. If you want any of the steps in a stage to relaunch when you return to them, you must select the Launch on stage re-entry check box for those steps.
You can call Reopen activity, which in turn calls reopenWorkObject activity. This activity calls pyReopenToStage flow to create an assignment. It shows up an assignment to choose which Stage you want to re-enter to.
pyReopenToStage is a process that is available and this shows the option of going back to the last stage or choosing another stage. In your case this can also be overridden and move to any stage based on the need.
And as the workobject is resolved there is no flow in it. Even all the internal flows will be closed. So the only option is to show reopen as a seperate link / button in the review harness and then invoke Reopen as mentioned above.