Despite #1's answer I think June can fairly be described as "before the tourist season" in at least one country on your list - Croatia. Of course there are a lot more tourists around than in April or May. But the real high season is quite short, really just July (especially the 2nd half of July) and August, and in June it's still quite easy to move around without being hampered by too many crowds (except Dubrovnik, which is almost always busy). However if your stay in the south extends into June you'll certainly be hitting the high season. As well as the crowds it can get very hot, which may or may not be a problem depending on what you are used to. I know that for me it's difficult to have an active holiday with a lot of sightseeing anywhere in southern Europe in this period because of the temperatures. So for me, I'd choose starting in the north in August and working my way south. The weather in Greece and southern Spain can still be extremely pleasant in October.
One thing to watch out for: although you mention "working your way south" as though southern Europe is a single connected region, connections between the various southern countries are not necessarily better than between those countries and northern Europe. In particular, many people get caught out by Greece and Croatia, as there is no direct transport between them. It is generally quicker to travel from Greece or Croatia to northern or central Europe, than between one and the other. Of course this isn't a problem with some planning - e.g. you can go Greece-Italy-Croatia, travelling by ferry, or you can take the opportunity to travel overland and visit some other countries on the way. But I mention it here because the Eastern Europe forum sees a lot of questions from people who make their plans assuming they can simply fly from Greece to Croatia, and then have to rearrange everything when they realise they can't.