you point out a shortcoming of the implementation in AOSP. (For others, here are the official help docs)
You don’t share mails/IMs because you have different accounts, but you share the same number on a device across all users. So for inbound calls/texts it is hard to determine the recipient. But ofc for outbound you could make that distinction and create separate histories. I guess there just isn’t the code to do what would be sensible from a end user perspective.
One way to circumvent this is to use any “OTT” messenger for calls+text that are account-bound and separate. Of course for emergency purposes you’d always want your kids to use all methods of communication possible.