The pre referendum polls were largely accurate, what they couldn't account for or indeed may have contributed to was the significant number of people who supported remain not actually voting!
There will always be bias, I guess that depends upon which organisation is doing the polling, the independent polling companies certainly don't seek a biased result, they get pretty embarrassed when they are wrong. It is actually perfectly possible to run an unbiased poll. especially if its a simple yes or no answer with a statistically representative cross section of the population, which will be accurate to within a 1-5% tolerance either way.
Of course what one can't control is whether those being polled give a true answer, but invariably they do unless its a which party do you support poll.
Few committed Brexit voters will have changed their minds its true, time however is reducing that demographic so all is not lost. However, million's who voted on the basis of £350 million going to the NHS or other falsehoods which seemed beguiling at the time have done so.
There is also the fact that many who voted and feel conned, are not exactly going to admit that, but will vote accordingly going forward. If one associates with a certain demographic, then the familiar refrain it ain't Brexit, its this government who haven't delivered it(as per the UKIP and Reform refrain at the moment) is a popular one, but not shared by most voters who were under 50 at the time of the referendum.
True the people with complexions that resemble pig meat are a sizeable chunk of the electorate, but they weren't actually in the majority in 2016 and certainly aren't now. A sizeable chunk of the Tory party were pro EU, they remain on the side-lines, waiting for this UKIP light Toru party to implode which it is doing.
On the international political stage, the UK is much diminished, economically it is weak, reality is setting in, but it will take 5 years of so to fully see a change.