Interesting points. This sounds somewhat like a desire to have “threads” within chat (like Slack, Discord, etc. have). Because “simply split the replies into a new chat” is quite a “heavy” solution since “chats” outside the context of a Topic are channels. I agree that some smoother way to handle these kinds of needs would be ideal.
Perhaps existing Discourse topic/thread functionality can be used with integrated chat to indeed create a sort of “thread”, different than but ultimately functioning similar to Slack, etc. So what you’d see in the original chat is the originating message(s), with a link to the forked chat/topic, and count of messages within it. If you click, it takes you to a “topic” that is a “thread” of some kind, whether chat or forum, or perhaps both somehow.
I think this connects with the issue pointed out here that the way to indicate and present a chat in a topic is still rather fuzzy. Once that is better solved I think a more familiar “chat thread” analog can be created.