RtlGetVersion returns wrong information at boot time

Hi OSR community… the weirdest thing!
our driver, In DriverEntry, calls RtlGetVersion.
On systems that were upgraded from windows 10 19041 to newer builds of windows 10 (e.g. 19044), RtlGetVersion returns 19041 if the driver has a service start type of SERVICE_BOOT_START or SERVICE_SYSTEM_START.
After research, I found that RtlGetVersion gets the build number from Nt!NtBuildNumber and that the system later calls nt!CmpSetVersionData to change it:

Child-SP RetAddr Call Site

00 fffffd896105a630 fffff80661b928d0 nt!CmpSetVersionData+0xbebe0
01 fffffd896105a8a0 fffff80661755a15 nt!CmpFinishSystemHivesLoad+0x6e0
02 fffffd896105ac10 fffff806617fec78 nt!PspSystemThreadStartup+0x55
03 fffffd896105ac60 0000000000000000 nt!KiStartSystemThread+0x28

So… does anyone have an idea of a different way to retrieve the correct build number before CmpSetVersionData is called? Or are all boot_start and system_start driver doomed to hold wrong information?