they don't seem to have a breakdown by income though...
though do you really thing that people didn't change their minds through that disastrous campaign? looking back Yougov seemed to be on point re: their reports of the gap narrowing up until they almost predicted the result but then bottled it at the last moment and give the tories a bigger lead
True, there's no income breakdown. But you can infer / extrapolate a fair amount from the data on socio-economic grade, education level and employment status.
There were all sorts of weird poll results during the campaign, depending on how the data was gathered. I think the poll where the gap closed to almost neck and neck was the Yougov one where they made an assumption about a higher than usual turnout amongst the young. Which of course was something that did indeed happen, although not quite as high as that poll assumed.
It's hard to know if those who voted Labour had always planned to do so and just weren't getting picked up by most of the polls, or if the disastrous Tory campaign swung things away from them. My guess is a bit of both.