I had to escalate but got it sorted. Got my refund and the booking I wanted to keep was reinstated. The agent told me it is confusing, and it used to be less so when BA had their own hotel inventory. Now, there's an intersection of BA or Avio's policies, Expedia which is where the agent said the inventory actually comes from, and then any odd policy the hotel itself has. Quite happy with the resolution.