One reason for using DSAI've just found is that in theory the RTL930x
supports a CPU disabled mode where you do connect it to an external CPU and
the data travels over SGMII like you'd get with a traditional DSA design.
It's not a mode I'm planning on supporting anytime soon but it might come up
when I get round to submitting some patches.
You might want to look at ocelot, which is both a pure switchdev and a
DSA driver. Its design is not great because it became dual later in
its life. I suspect it would be designed differently if this has been
considered at the beginning.
Andrew