Firstly “they said it’s fine” isn’t enough. You need to know actual numbers and reference ranges.
Chances are if they tested your thyroid as part of a general blood test, they only did TSH and not a full thyroid panel.
If that’s anywhere under 5 they’ll say you’re fine.
If it’s under 10 they’ll probably still say you’re fine but to maybe keep an eye on it.
It’s not fine. Many of us don’t feel well unless it’s under 2 (and in other countries that would be the cut off for being considered hypothyroid and you’d be offered treatment but for some reason ££ the NHS have a much higher level that they consider normal). I personally need my TSH at almost zero as my thyroid doesn’t function at all so the TSH being in any way raised serves no purpose (it’s basically your body asking the thyroid to produce more thyroid hormones, so if you’re unable to produce anything, there’s no point asking! You just have to supplement it.)
I was also told my B12 was fine at a level of 290, with a reference range of around 250-900, despite having all of the symptoms you mention above and my thyroid having been treated for several years. When I pushed for B12 injections and got up to 800-900 most of the symptoms went away. So yes it was maybe within the normal range but way off optimal.
I now just take sublingual B12 lozenges as they stopped my injections after testing for IF and it being negative, without it seeming to matter that I clearly wasn’t absorbing B12 well for some reason and my levels just kept dropping despite eating a good diet.
I don’t really trust GPs now, they let down both my parents who subsequently died of undiagnosed cancers and they left me struggling with newborn baby and a TSH of 200 before finally diagnosing me. I try to get as much info from them as possible and then get private tests and medication etc to take care of myself.