As I see it, the UI system to select which characters are grouped is a separate issue to the movement of the group.
If the selected character is in a group chained together, the character movement can work exactly the same as if all those characters were selected together. The fact that one character gets ahead before anyone else starts moving seems to be more about how the pathfinding works through the 3D world than the user interface. Compare with original BG which could just stack 2D sprites on top of each other on a flat background with far fewer obstacles in the way.
Another difference to consider is that in DOS2 and BG3 you can do things like initiate conversations with any character, so if you’ve selected everyone to move together, who speaks when you click on an NPC? You’d either need to select a single character to speak and then reselect the group to move on, or have an additional control to designate the speaker. That’s not a particularly big deal, but there maybe other similar things I’ve not thought of yet. Using teleport pyramids in DOS games is slightly different, but would be a similar issue.
Formations never worked that well in DOS2, partly due to the time lag to get into position (although that never seemed as bad as in BG3), but also some other weirdness like the selected character would always move to front even if they are supposed to be at the back. They should definitely improve that for BG3. I believe it was a bit more reliable in DOS1, but I’m not sure.
Chaining and unchaining characters by dragging their portraits is a bit of a pain, but I don’t think it’s the main problem. It should also be the simplest thing to fix. Something like shift-click to quickly unchain and move a character, and another shift-click to chain again should be all the UI really needs, IMO. But other shortcuts could help too.
I think if Larian can fix those issues, there are some advantages to the chaining and unchaining thing. Being able to take one or more characters off somewhere else and then move the others around without having to continually select multiple characters isn’t fundamentally bad. It just needs some tidying up.