Hmm, that seems harsh of BA Holidays! It's not as if you deliberately withheld payment.
I should have gone to Japan last December (in Club World). I'd had a problem with my eye (poked myself in it by accident, scratching the cornea) a month earlier... it had been painful but was feeling a good deal better by then. I went to the Sofitel, but unfortunately the injury flared up overnight (I think due to the a/c in the room drying the eye out) and I had no choice but to cancel. This was a cash booking that had been shunted forward several times due to Covid.
I managed to phone at 3 in the morning (using my good eye!) and they couldn't have been more helpful... they said as long as I could provide a doctor's note within a few days, they would freeze the booking, meaning I could use the money - all of it - towards a future flight (which I did a few days later, having sent off the doctor's note). I did say to them that hopefully, having given notice several hours before the flight was due, someone else would get a nice upgrade - and that I didn't expect anything from BA, but there was no harm in trying. I think it was the Indian call centre I got through to, FWIW, but I dialled the UK number.
My travel insurance paid up for the hotel deposit in Japan without a quibble, but I didn't have to claim for BA as they sorted me out.
I would hope BA Holidays would have been as understanding for you, but if the old "hang up and call again" method doesn't work, it might have to be a claim on your travel insurance... good luck!