I'm mixed race.
Dual heritage and multiracial are both offensive to me.
Dual heritage assumes I was raised in two distinct cultures. I wasn't. It makes a lot of assumptions about who I am as a person.
Multiracial assumes I don't know my origins. I do. I'm half one race, half another.
BAME means I look a bit foreign, but you have no idea what kind of foreign. If you're so unsure you have to lump me in other ethnic origins, you probably shouldn't be referring to my ethnic origins in any capacity.
Person of colour is no different to coloured IMHO. Everyone has a colour of some kind. It's just a stupid, clumsy way of describing people.
Half-caste is offensive as it suggests the one side of me is OK and the other side is bad. It's also inaccurate as caste system is not used in either of my races.
Mixed race is just fine. It's accurate, it's not offensive, and I've used the term my whole life long.
Muggleborn is also OK given it doesn't pass judgement on either race, and I was only really raised in one culture, despite belonging to two.
Mudblood is offensive. Only people with the same ethnic origins as me are allowed to use it when referring to each other - we can reappropriate the term if we choose, but you're not allowed to.