Just because they believed those things doesn't mean they were true.
There are a lot of things about the EU's workings which are very poorly understood. One of its central aims is levelling up, so that all citizens of the EU can have a high quality of life. That's why it specifically directs aid into the poorest regions, including some of the poorest parts of the UK, prior to Brexit.
Then there's the complaint about awarding public contracts to foreign companies. Grammarnut said that the government was forced to award a contract to a foreign company, which is a really inaccurate way of putting it. How public procurement works is that the public entity awarding a contract has to decide what they want and how they are going to evaluate tenders, and then once they've published their request for tenders and invited companies to bid, they have to stick to the rules they have established. The purpose of this is to ensure fair competition. Yes, if you're in the single market you have to open up these opportunities to companies from all over Europe. This is to ensure that the UK taxpayer is actually getting the best value for money. We might all like the little company down the road to win the big contract, but we don't really want to pay for it, either through higher prices or lower quality. It's also supposed to stop governments from just awarding valuable contracts to their mates, which as we saw during Covid, is a big risk.
It's not reasonable to expect Joe Public to understand how all this stuff works, which is why having a referendum on it is tricky. I think the original referendum should have required a leave vote from a majority of the eligible electorate, with non votes being counted as a vote to maintain the status quo. Unfortunately we ended up having to do something that has been pretty damaging for the UK, without a solid democratic mandate.