if i just swap to voip i am sure they will cancel my account and charge me hundreds for early termination
Yep, so I suggest wait until April 2025, a couple of weeks before your contract is up, before you port the number.
You can of course set up a VOIP provider before then, and make sure it's all working - they'll allocate you a new number.
No point trying to speak to Virgin about this. They don't have a way to port the number out of your service whilst keeping the TV, and in any case as you've said already, you are in contract for both TV and phone, on a special combined price.