I found out that David A. smbios.dll, which is not yet generally available, is intended to find the entry point in all cases, even where CSM is not available.
I tested dmidecode with UEFI boot on, but CSM also on. This dmidecode works well. So does dmidecode 2.12.