I never understood why they didn't take this approach -- converting under-the-hood "automatically" to their ECS paradigm. The existing data-structures were/are already
very similar to their ECS counterparts (though with substantially less boilerplate code); the main "issue" in trying to do an 'automatic conversion', at least that I could foresee, was related to references & non-blittable types. Even then, it seems like you could automatically convert all the data that
is a blittable type, and then let the rest work "the old way" (read: sub-optimally, at least insofar as memory access goes -- and ideally/likely with some developer feedback via profiler improvements to demonstrate where [and by roughly how much] any non-blittable type access was
actually costing you in performance).
Just my 2c.
I do concur with the above poster, though -- their ECS/DOTS has been basically ignored. At this point there's so, so, so much of the Unity ecosystem that just flat out fails to work beyond some very, very, very small scale that it's just mind-blowing. Want to use their physics, or nav-mesh agents, or even their sprite-rendering systems? Once you get 500-1k of any of those objects into a scene (ie, sprites!!), you've already blown way past your CPU/framerate budget. It's mind-boggling; especially when you can, for example with sprite rendering, run your own mesh with a bunch of quads and absolutely obliterate the performance you get from SpriteRenderers.
Very frustrating & somewhat mind boggling TBH. I'd personally guess the vast majority of indie devs that use Unity are simply using it as a [mesh] rendering pipeline & practicing a "roll our own" approach for almost everything else.