Github, Bugzilla, and other issue trackers — and Stack Exchange, for that matter — have the inherent ability to close an item as a duplicate. That is, there is a Duplicate state which is tracked.
Discourse lets moderators combine topics by moving posts, but to my knowledge there is no actual “close as duplicate” functionality that includes tracking that status. What you’re seeing is just someone saying “oh, this is a duplicate, so I’ll delete it”.
That’s not the system throwing information away. It’s the moderator or admin.
I can see a “real” duplicate feature being useful in many cases. But it raises a lot of design questions that would need to be figured out.
Short of that, it’s might be better for the moderator to:
- Comment linking to the other topic.
- Unlist the topic instead of deleting.
- Maybe close it, or mark it to close in a week.
That way, there aren’t mystery 404 errors when following links.