> One of the options is to restore from Time Machine. But doesn't that bring back all the clutter and no longer needed stuff in Library / System, etc.?
Yes, but it is easier and works for most people (unless there is some old user setting etc causing problems).
...the manual hard way:
> Saved Mail - saved on the hard drive
a) Mail > File > Import Mailboxes... > Apple Mail > choose old macOS ~/Library/Mail folder > choose all Items. I move all mail to ~/Library/Mail and zip it as a backup in the old macOS.
On the new Mail.app: On the left-hand-side under "On My Mac" > Import, ..., look for and move "Local" and all mailboxes inside it up under "On My Mac". Right-click and delete "Import" folder (it has gmail mailboxes that are online).
b) Or optionally in Apple Mail > Mailbox > Export Mailbox... But for some weird reason Mail.app can then export only up to 2.15 GB mailboxes so old messages are silently ignored! BTW, remember to choose "Export all subfolders" option, if necessary!
> Programs (Applications & Utilities)
Reinstall the latest compatible version (test mission critical apps and devices on a bootable external drive with the new macOS before upgrading). Make sure you have a copy of the licenses available. I copy & paste some old preference files from ~/Library/Preferences for some apps that I have fine-tuned.
> Safari Bookmarks
Import from iCloud. The same for Notes, Contacts etc iCloud items.
> Music and Photos are easy - drag and drop.
Copy the libraries and then Option-start Photos.app and Music.app and open Photos.library and Music Library.musiclibrary
> I could just copy my old user over.
Keep user folder tidy so you know what you want to preserve and copy.
> Is my original 'user name' the display name or the name under Users? I want my user on the new drive to be identical to that on the old drive.
Carefully pick the same old username and drive name when doing the clean install. Changing them later is messy.
I use Carbon Copy Cloner to backup the old bootable macOS for a few weeks/months in case I forget to copy something.