Thanks everyone. I changed from
'dbcollation' => 'utf8mb4_unicode_ci'
'dbcollation' => 'utf8_unicode_ci'
in config.php and the upgrade completed and everything seems to work OK.
Server connection collation = utf8mb4_unicode_ci
so I am totally confused.
What should I have known/understood to set the config.php 'dbcollation' to 'utf8_unicode_ci' from 'utfmb4_unicode_ci'?
The config-dist.php had exactly the same comment
// MySQL has partial and full UTF-8
// support. If you wish to use partial UTF-8
// (three bytes) then set this option to
// 'utf8_unicode_ci', otherwise this option
// can be removed for MySQL (by default it will
// use 'utf8mb4_unicode_ci'. This option should
// be removed for all other databases.
as my unaltered and working 3.3 install.