A
genuine 0300 number is one that's charged at a local call rate. They tend to be used by banks, utility providers and public services (such as health providers). Such numbers usually show up straight away though when you put them into Google.
However it's possible to enter fake numbers into the Caller ID system. (
https://en.wikipedia.org/wiki/Caller_ID_spoofing ). Spammers and scammers often do exactly that in order to make it look as if an incoming call has come from a trustworthy source. I suspect that's what's happening in your case.
I dialled 1471 last week and found that I'd had a missed call from a number on the same exchange as my own. I thought that it was probably just someone phoning a local Chinese takeaway, whose number is annoyingly just one digit away from my own, but I reached for my contacts list anyway just to check that the call hadn't come from someone I know, as the number seemed rather familiar to me. It was only at that point that I realised why the number looked so familiar - it was my own! (A spammer/scammer must have been using a system that injects the phone number that's being called into the Caller ID system in the hope of bypassing call-blocking systems).