A few comments, and I'm sure there will be more.
Logins and jobs are only two things to consider when you move a database. You have more things. Linked servers, potential sp_configures are a couple of examples. I wrote an article on the subject: https://karaszi.com/moving-a-database-between-two-sql-server-instances
Doing the final cut with a diff backup is one option. Another is to have log backups running periodically (possibly using log shipping) and do the final cutover using a log backup instead of a diff backup. I can't say which is best for you, but something to consider.
Make sure your 2016 instance is patched. Then consider tuning on Query Store. And then run with the old db compat level for a while. And then consider upping the db compat level (if your app supports it) and see where you get better vs worse perf.