This thread is fascinating - I'm currently about half way through. Really informative points from lots of people.
One point I haven't seen made yet (apologies if it's in the 4 pages I haven't got to yet) is that I don't think this is actually about who'd win in a court battle over the precise wording of the contract, or even about trying to claw back 4 million doses from UK factories.
I think the main audience the Commission has in mind is the home market - the 27 EU member states. What they're hoping is they can throw a tremendous paddy painting Astra Zeneca (let's remember, developing and selling the vaccine at cost price as a humanitarian gesture) as the "evil big pharma villains of the piece", with a side order of kicking post-Brexit UK as the greedy bastards who've "stolen 4 million of our doses while we were making sure everything was safe and above board..."
The point of doing this, as I say, is for the home market, to distract from the monumental cock-ups the Commission has made (not ordering enough vaccines, putting too much hope in Sanofi, not getting a wide enough basket of potential pharamaceutical firms on board, dragging heels over the approval process).
I would say, from the coverage I've seen in the EU press (especially the German tabloid "AZ only 8% effective in over 65s" false headlines followed up by the German government decision not to use AZ for over 65s) from a political perspective this strategy is working. It's taking the heat off the Commission - and that's the actual point of the exercise.