Eventually, I think this is the best format, as better teams have multiple chances to fix one bad day or an unexpected slip. A bit further can be done by introducing the PL/SL system of last 4, which allows best 2 teams a 2nd chance and it doesn't eliminate some combination in the final. 2nd chance part is self understandable, won't explain but the other issue is if in a tournament there is one odd weak team in SF, their pair gets an undue advantage. IND played Kenya in 2003 and BD 2017 (not by plan, so Indians should be relaxed here), but bigger problem is that, the other pairing is quite unlucky - one of them will miss out. SAF was extremely unlucky in 1999 to face AUS in SF, as they had a 15-0 run that time against PAK..... it was certain that AUS-SAF can't meet in 2007 or 1999 Final, WIN-PAK can't meet in 1979 Final, IND-PAK can't meet in 2011 Final ..... The PL/SL system, actually keeps all 6 (AB, AC, AD, BC, BD, CD) combinations open for final. This WC,I think 3 teams are slightly ahead of the rest pack, and one of them'll miss out to get one of other 2 SF, which can be covered by PL/SL model. However, I personally like the SF>Final route, because of the thrills of a KO game.
The flaw of 1999/2003 system was that it allowed fixing games, or forfeiting games, or under performing. I give a classic example from 1999 from instant memory (there are few others). AUS were facing elimination against WIN in last group game and they had to win in. However, if AUS wins by big margin (which they did eventually), means WIN eliminated and AUS, PAK, NZ advances - Aussies lost to PAK & NZ in group games means they would carry zero points .... so once they got WIN all-out for 170 or so, they tried to keep the game as long as possible (49+ overs were required), so that WIN's NRR doesn't suffer much and they leap-frog NZ, and by virtue of beating WIN, Aussies would advance with 2 points - it was absolute comical that AUS took last few runs at less than 1/over.
There was other side of the equation as well - Kiwis forfeited the Kenya game in 2003, and Kenya did beat SRL ..... then SAF miscalculated against SRL, while WIN lost 2 crucial points for a wash out against BD (they had much better NRR than Kenya) ..... so 3 teams advancing were SRL, NZ & Kenya, with Kenya carrying 2 wins. Similarly, in other group, Poms gave ZIM a walk-over, then ZIM's last game against PAK got washed out, so they advanced and eventually Kenya made it to SF for those 2 carryover wins + win against ZIM in super six.
Ideally, I would like to see a WC of 12 teams, in 3 groups of 4 each and then top 3 from each group advances, with 2 games carried from group stages (it's 3P4, therefore the carryover won't be that complicated) - in super Nine, each team plays 6 games against 6 teams of other 2 groups. Eventual top 4 plays SF>F.
Of the 10 teams in 2019 WC, top 6 qualifies for next WC by default, No. 10 relegated to qualifiers by default with top 6 Associates and one of the 7-9th team joins them in qualifiers based on the ranking may be on 31st DEC, 2021. 4 of the 8 teams in qualifiers join the top 8 in IND 2023. This will make sure that even if a team misses SF cut early, still very much focused not to finish 10th and try to win one of the last 2 automatic qualifying spots (5th & 6th).