A top post and I agree with all of it, however I want to point out many of the people who voted Brexit (or Trump for that matter) do not live in our world. We work in skilled professions with a high degree of social mobility. People like ourselves have done failry well out of the status quo prior to Brexit, we also want our children to have that social mobility and be able to travel and live in multiple countries etc.
Many people who voted Brexit were not seeing any of that lifestyle and saw it as a widening gap post financial crisis. In their world they are competing for resources with new migrants from poorer parts of the EU who are willing to accept less because it is still better than what they had back home. What we see as a net benefit they see (rightly or wrongly) as a net drain on their life prospects.
The seeds were sown 10 years ago and I think there is possibly some justification for the anger and frustration that has resulted in Brexit. The sad part is things are only going to get worse for the UK now as a result of this vote, not better.