Unfortunately this wasn't the right fix. After re-doing the procedure (with a full rescan in Clementine and a reset database in Strawberry) Strawberry duplicated every entry in my list.
Note that I have 36 directories in my library, the reason why this issue matters to me.
After pondering for a while I decided to compare table entries for a specific directory path from a song and then I noticed this:
clementine.db:
table: column(s):
songs directory: 45
directories rowid: 36
subdirectories rowid: 7 directory: 45
strawberry.db:
table: column(s):
songs directory_id: 45
directory_id: 36 (duplicate that appeared after rescan)
directories rowid: 36
subdirectories rowid: 36 directory_id: 45
rowid: 72 directory_id: 36 (duplicate that appeared after rescan)
I think the issue is that Clementine seems to associate songs->directory with subdirectories->directory while Strawberry associates directory_id with directories->rowid.
Unfortunately my sql skills are very rusty so I didn't want to spend even more time trying to come up with a fix. Instead I opted for a different procedure:
Removed strawberry.db and Strawberry cache directory, start Strawberry and exit to reset the database.
Migrated the directories table (using sql because of efficiency.)
Copied over album covers.
Started Strawberry again, did a full rescan, then exit.
Used this script by Rolf to import song statistics and ratings:
https://forum.strawberrymusicplayer.org/topic/113/import-ratings-from-other-players-esp-clementine
Started Strawberry again and did full rescan again.
After creating a playlist with the 'All tracks' smart playlist the total song count was almost the same. A minor discrepancy was caused by a corrupt file name (which broke the scan of one directory) and a few corrupted media files. But that's easy to fix.
i(Btw. I didn't care about migrating playlists since I've got only a hand full of smart playlists which I can easily recreate manually.)