I never migrate from an old Mac (I like the idea of a clean, from-scratch setup), but the macOS defaults are annoying so I had to make a big checklist. Instead of trying to list all my custom prefs here, I'll just tick off some points you might want to consider.

* If you use FileVault and don't allow your Apple ID to control it, make sure to establish a specific place where you store the FileVault recovery key. You'll access it rarely (if ever), so if you don't have a standard place where you store secrets like that then you'll forget what you did with it.

* Rename the drive to something unique so you'll recognize this computer by its drive name. This is helpful if you login to other LAN Macs via SMB.

* For your username, consider using a handle instead of your actual name. Also, macOS by default will set the computer name using your Apple ID name ("Joe Schmoe's Macbook Pro") which you probably want to change.

* Thankfully recent macOSes allow you to shut off the startup boot chime instead of screwing around with SystemAudioVolume/BootAudio

Other system settings to adjust:

Battery/Energy Saver
Lock Screen (screen saver, display off, require password)
Hot Corners (when I leave my desk, I turn off the screen by flinging the cursor into a corner)
Firewall
AirDrop/Handoff (airplay receiver off, if you don't need it)
Dock (remove all apps, move to side, auto hide, etc)
Mission Control (I use multiple desktops with subject-based wallpapers)
Change the screenshots location (Cmd+Shift+5)
iCloud (turn off for apps that you don't want to sync)
Keyboard (Key nav on, turn off spelling if you don't need, add keyboards if you use multiple)
Trackpad (force click off, data detectors off)
Finder (sidebar, toolbar, quick actions - e.g. automator scripts)

Apps:

* Web browsers - adjust: new window/tab appearance, download location, autofill (off), search engine suggestions, enable the inspect/dev menu

* Little Snitch - migrate your prev ruleset and custom settings

* Sublime - my setup is complicated due to custom markdown settings and package conflicts

* On most apps I've purchased, the single-user license which allows the key on multiple computers for a single user (e.g. Little Snitch, Sublime, Acorn, etc). Best to keep your license keys organized just like 2FA/FileVault recovery keys.

* After apps are installed, you can adjust keyboard shortcuts (e.g. override the Quit item to Shift-Cmd-Q)

Dev:

* Migrate `~/.ssh` keys/config, `~/.gitconfig`, .profile/.shrc

* I have my own way of installing certain cli tools (e.g. Golang, Nodejs, Flutter, etc) where I mimic a package manager (like Homebrew) but install at `~/cli`. If you do something similar, don't forget to `chmod 700 cli`.

* I use NixOS on servers but didn't like the drive partitioning madness on Mac, so I still use Homebrew for other things.

* Ruby/Cocoapods: 1) rbenv via Homebrew, 2) ruby via rbenv, 3) Cocoapods via gem.

* Python: via Mamba (though I hate the name miniforge3, and wish they'd standardized on mambaforge)

Finally, before wiping your old Mac (to sell or hand to Apple for service), have a checklist:

* Redundant backups? (Some ppl argue against a disk image via Disk Utility, but I like being able to copy/mount the dmg image. I don't like Time Machine.)

* If you log out/in with your Apple ID account on a different Mac (e.g. the old Mac), will the new Mac ask you for 2FA approval?

* Can you log into your Google account(s) on the new Mac?

* Did you migrate any stored logins from the old Mac (e.g. in keychain or browser)?

* Can you ssh into your servers? Connect to AWS?

* Can you push to Github repos?

HTH