Hi,
There is no method which would take the products of an order and put them in a new cart. That would have to be coded "by hand" via a hikashop plugin implementing the onAfterOrderCreate for example.
What I would do in your case is this:
Keep "empty the cart when order is:" to completed. And in such hikashop plugin, implement onAfterOrderCreate to clean the cart for one payment method and implement onAfterOrderUpdate to clean the cart only when the order is cancelled for the other payment method.
That shouldn't be too complex, especially compared to recreating the whole cart.