It's not a weakness, its a preference. And it has nothing to do with the other stuff you mentioned which are gameplay improvements. Anyway since I'm stuck here I'll explain it.
KOTORs main plot is told through the characters.This means that A. The character has to be alive and B. The character has to be in your party at the right time.
KOTOR would totally fall appart if Bastilla could die before her role was done , or any other plot character for that matter. Thats why everyone gets up after combat and only dies for good when their story telling duties are over.
It's very JRPG in it's approach to storytelling. Much more so than BG (you could see it in BGII with Imoen and how they gave you an Imoen clone , Nalia to make up for her skill set).
The other reason is that if you have a specific character talking at a specific point in the game, then you only have to record VO for one character, rather than have to record 10 lots of VO which basically say the same thing.
I knew from early on that one way the other Kreia would leave once your training was complete. It's inevitable from either side because being LS you would want to stop her and being DS you would want to remove her and usurp her power. Just like any other Sith.Nothing twisty about it and nothing particularly hidden as long as you actually interacted with the character.