Ukraine's undoing was losing to Romania. If they'd played with 3 at the back against Romania, I doubt they'd have lost, but that's by the bye. They're performances drastically improved against Slovakia and Belgium. Losing key players like Mudryk, Tsyhankov and Mykolenko was a huge blow. Especially for the final game against Belgium. Mudryk and Tsyhankov not playing is like Germany playing without Musiala and Wirtz. Except Ukraine don't have nearly as much depth as Germany to cover for them. Ukraine earned 4 points, which is more points than Hungary, Slovenia, Croatia who all finished 3rd in their groups and who will all advance to the next round, as well as whoever is likely to finish 3rd in Group F.
I don't believe it was deliberately fixed between Slovakia and Romania(although some do). But it's easy to settle for the draw, when you know you'll both qualify. I think Slovakia and Romania kind of went for it in the 1st half, but from what I saw in the 2nd half, there was much less urgency from the teams, especially later on in the game.
Who is deserving to go through is subjective. But all I'll say is that Slovakia, Romania and Belgium didn't have any injuries to their players at these Euros as far as I know, yet Ukraine did have injuries to key players. A the end of the day, Ukraine can only blame themselves. They created many scoring chances today and against Slovakia(they should have beaten Slovakia more than 2-1), yet didn't score. Ukraine had the youngest starting 11 team compared to any other team at these Euros and in all their 3 matches played. So the future is bright. I am of the belief that they are stronger than Slovakia and Romania, but they messed up against Romania and they've paid for it.
If Ukraine didn't have injuries to the likes of Mudryk, Tsyhankov and Mykolenko in many of the group games, it could have been a different story. You are entitled to your opinion and I wish Belgium, Slovakia and Romania all the best in the next round.