This "agreement" whatever it was, was one of the most stupid I have ever seen watching F1. Putting the slower car ahead in-front of the faster one sacrificing 5 second gap when you are trying to beat a 5 years dominant team on a track where they've won all races is utterly ridiculous. Seb was absolutely right when he told on the radio that Charles needs to close the gap to prove that he has the pace, which he apparently didn't have as Seb was putting one fastest lap after another.
Then again those are dumb circumstances to force the switch in.
It's easy for Vettel to say "Let's wait a bit longer" and later "Leclerc should be closer for the swap to happen" while pushing in clean air. And just try to delay that as long as possible, because during that situation Leclerc was always going to destroy his own tires in the dirty air trying to prove he can be close enough, which eventually he did.
If Vettel wanted to swap, just swap right away when Ferrari asked. It could have safely been done in lap 6,7 or 8 when Hamilton was 2+ seconds behind Leclerc.
But Vettel simply didn't want to swap and by arguing on the radio with excuses about it not being safe and that Leclerc should close up, that all just helped his own case because every extra lap Leclerc was behind him ruining his tires, helped Vettel.
Even if Leclerc had managed to close up, it could have been like in China earlier this year where Vettel pushed Leclerc hard to prove he was quicker, called for a swap, and then when they finally swapped Vettel had no tires left and both cars were slow as a result. What's the point of that? Vettel must've known that playing that game wasn't beneficial for the team either.