Avoid "uninitialized value in eq" warnings on upgrades from 3.8

In 3.8, the Type parameter was never passed to SUPER::Create, leading to
all 3.8 databases having a NULL 'Type' column.  If upgrading to 4.0 from
3.8.8 or before, the 3.8.9 upgrade step is run with a 4.0 lib/ but a 3.8
database; the examination of ->Type in ->SetContent thus causes a
warning.

Explicitly set the type (to the default, Perl) before calling
SetContent, to avoid the warnings.  This does not confuse the later Type
upgrade step (in 3.9.1), as that updates Type = NULL rows, and only
aborts if it finds rows with Type != 'Perl'

Fixes issues #17505.
Merge branch '4.0/upgrade-warning-from-3.8' into 4.0-trunk