I'm not convinced that segwit was the better choice. In general, doing something in a simple way is better than doing it in a complicated way. But it is what we have now.
SegWit was needed for Layer 2 stuff, and did add effectively another 1MB to the blocksize.
It was win-win for everyone IMO.
I saw it as the more elegant way forward.