Perhaps, when it comes to this, it might be enough to add a legacy alias
and make `linum-mode' invoke `display-line-numbers-mode', doing the same
for `global-linum-mode' and `global-display-line-numbers-mode'.
A more general idea might be to have some kind of init.el-health-checker
command that could detect and propose to fix simple issues like these.
But then again, will those who never pay attention notice this?
Perhaps a variant of the disabled-command machinery for replaced functionality? Something like:
(put 'linum-mode 'replaced "This library was made obsolete in Emacs 29.1. We recommend...")
If this need doesn't deserve a generalized approach, it looks like a one-off for linum based on #'command-query could work.
Hope this helps,
~Chad