Yeah, as you see you cannot get the specific shipment inside your split payment plugin, unless you specifically call the
ProcessPayments method yourself.
However, before calling your split payment plugin, the
CompleteShipment method inserts a capture payment in the shipment's
OrderForm parent with the total shipment amount.
So, unless you need to mark some custom Shipment properties upon payment completion, I guess your split payment plugin could be made in a way that it doesn't need to know the specific shipment. At least you don't need to calculate the shipment amount to pay.