Definitely use option #2. There's no reason to have to maintain a server presence for the old site if it's been replaced. This is best practice - still fully allows ranking authority transfer to new domain.
Yes, it's a lot of work to do the redirects. Watch for cases where large numbers of URLs are the same, with just the domain name changed. Or that all have similar change required (e.g. removing a /category directory) Those can be handled with a single regex rule instead of having to create an individual redirect for each.
To ensure you catch as many of the old URLs as possible you can use the Screaming Frog crawl as the list of URLs needing redirects. Can help to merge that with with the old site's XML sitemap for completeness. Note - you'll have to redo the redirects from the plugin as well, as those will no longer work after the DNS is pointed to the new domain. Check the old site's htaccess for an legacy redirects as well. It's usually also beneficial to redirect the images and other important media (pdfs and other downloadable files) if you can.
Then set up a process to monitor Google Search Console and Google Analytics on the new site to immediately detect and correct any new 404 errors that show up. (That's another major advantage of doing the redirect on the new site's htaccess - the 404s will actually be detectable with tools.)
Lastly, ensure you've used the Change of Address tool in Google Search Console to notify Google that the old site has moved to the new domain. Keeping the old site verified in GSC will allow for this, and will let you monitor the drop-off in indexing of the old site as Google recognises and indexes the transition.
Hope that all makes sense?
Paul