Problem/Motivation
In #3015811: Properly deprecate DRUPAL_USER_TIMEZONE_* constants we tried to move all the system module's user code to the user module but system_user_presave() proved problematic because of the interaction between filtering empty field items and when the presave hook is fired as opposed to when the entity's preSave() method is called.
Note that when this method is move to the entity class Drupal\Tests\user\Kernel\Migrate\d6\MigrateUserTest
fails.
Proposed resolution
Resolve difference between a NULL and '' and ensure that the timezone is set as expected.