As it stands:
As batsmen, Flintoff >> Johnson. The only reason people think otherwise is because Johnson has scored a few runs recently.
As bowlers Flintoff > Johnson. Flintoff has been fairly consistent as a bowler for a number of years, and his average always seems high because he rarely gets out tailenders, so finishes with, say, 3 wickets when other bowlers would have taken 5.
As fielders, Flintoff > Johnson. Flintoff is one of the safest slip fielders in the world, whilst Johnson is good outfielder. Therefore, in test cricket, Flintoff is always going to be more useful as a fielder.
That said, over the next three years I expect Johnson to improve as a bowler. I would expect him to become one of the top three bowlers in the world in that time, and so would probably be better than Flintoff at his peak. I think anyone who thinks Johnson will become an all-rounder is being overly optimistic, I reckon he will become a decent test match number 8, and will finish with a record similar to that of Warne (batting wise). In contrast, I expect Flintoff to still be playing in 3 years, but only to have played 50% of England's games through injury.
All things considered, Johnson will have more of an impact over the next three years, but his impact will not be as large as Flintoffs from 2003-2006.