I solved the problem, but I can't say with a 100% certainty that I know what caused it without one more check. It isn't to do with host name resolution.
TL;DR:
On the old device: Turn off wireless networking, temporarily rename advancedsettings.xml to avoid querying a remote server.
Then, on the new device: Turn on wireless networking and connect to a network, rename advancedsettings.xml and reboot
The old Pi 3B was connected to 2.4GHz WiFi. Swapping the SD card to the new Pi 3B+ for some reason prevented the 3B+ from connecting to that same 2.4GHz WiFi. I have no MAC filtering or anything so I'm not sure why it is a problem. Maybe connman saves its settings based on hardware metadata and is therefor not able to port the connection details over to the new WLAN device on the Pi 3B+.
All of this caused Kodi to hang at the splash screen. The log file is not very detailed, as you can see in my previous post. The only hints are:
2019-04-11 17:28:54.179 T:1807721344 DEBUG: Initialize, updating databases...
and
2019-04-11 17:29:27.904 T:1807721344 ERROR: Unable to open database: MyMusic72 [2005](Unknown MySQL server host 'focal-playground.lan' (-3))
I thought initially the fact that the SQL server was unreachable due to the WiFi not being connected was causing the hang, but then I did the following:
1. Boot the old Pi 3B from the SD card
2. Disable wireless networking
3. Reboot
This caused it to hang at the splash screen too (remember, this is the old 3B, which was fine before)
So I carried on:
4. Delete (rename) advancedsettings.xml
5. Boot the new Pi 3B+ from the same SD card
and voila, I got past the Kodi splash screen.
6. Enable wireless networking and connect to the 5GHz network
7. Reinstate (rename) advancedsettings.xml
8. Reboot
Now the Pi 3B+ is working absolutely fine on the same SD card as I used in the old 3B.
There are two possible causes for the problem:
A) Trying to connect to the remote SQL server is unsuccessful
B) Updating the database on boot hangs because connecting to the remote SQL server is unsuccessful
I have a feeling it is the updating of the database (which it can't do because there is no connection to the network) that is actually causing the hang, but I would have to do some more testing to verify.
For now my problem is solved.
Edit:
Last minute addition from my current kodi.log:
2021-03-13 18:54:59.307 T:1807721344 DEBUG: Initialize, updating databases... DONE
That doesn't appear in the hang-at-splash scenario, I'm reasonably certain that's causing the issues.