Starts the top-level returnWithdrawalWorkflow which refunds the user's
ledger account and flips the withdrawal to RETURNED. Uses a distinct
workflow id (return-<id>) so it doesn't collide with the still-pending
initiate workflow handle that owns <id>.
Re-kicks the rail-appropriate
initiate*WithdrawalWorkflowfor a withdrawal that's stuck inCREATED/PENDING. Idempotent: skips the start if the existing workflow handle (workflowId = withdrawalId) is stillRUNNING, mirroringLedgerAccountTransferWorkflowService.create.