Contacts, Safari bookmarks, Notes, Keychain Passwords and other data you have saved to iCloud should automatically copy to the new Mac when you enable iCloud. But occasionally I have had to turn some item like Safari bookmarks OFF/ON to kick it in action and to update on some other Mac. It is possible to export many of those as off-line data files (just in case) but I have not done that. Passwords is an exception because I use also KeePassXC local file to store most important passwords (just in case).
You can copy local Mail by copying (or zipping) ~/Library/Mail folder. Then in the new Mac (YMMV so adjust if necessary):
System Settings > iCloud > iCloud Mail: ON.
System Settings > Internet Accounts > Add Account... > Google [log in]: Mail only.
Applications > Mail.app [wait for Mail to download online Mail and gmail]
Mail > File > Import Mailboxes... > Apple Mail > choose the old ~/Library/Mail folder > choose all Items.
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", move also "epshp" up under "On My Mac". Right-click and delete "Import" Mailbox (it has gmail mailboxes that are online).
I usually download and re-install fresh versions of 3rd party apps (a good time for spring cleaning). Many tiny apps are self-contained in /Applications but some with installers might copy their support files who knows where so IMO it is best not to just copy such apps to /Applications from the old Mac.