Regarding 1:
I think copying the SQLite3 database should work as long as the paths to the data stay the same. The URL is not stored in the database as far as I know - so even with changing th URL this should work.
Regarding 2:
I don’t know why the 2 databases are different. This shouldn’t be and I just can guess that something went wrong.
Regarding 2a:
You can use my script calcardbackup (it is a bash-Script and from what I read, there is a bash-Package for nixOS) to save your calendars from the old database as *.ics files and import them to a client connected to your nextcloud. The client will then sync you calendars back to your nextcloud. I posted a detailed howto here: Restoring Data from Database Backup
Regarding 2b:
this also might work (See „regarding 1:“)