I did an install of SQL Server 2017 Express and rescanned my test machine and the version does seem to be displayed correctly as shown in the screenshot below.
As mentioned in the database dictionary this information is retrieved via WMI, as such if information is incorrectly, or not stored in the WMI class, Lansweeper will not retrieve it. However, as you mentioned you can get specific data through custom registry scanning but version number should be scanned correctly.
Lastly, you could try repairing your WMI if it seems to be corrupt. To do so you can follow the steps in this knowledgebase article: https://www.lansweeper.com/kb/47/How-to-repair-a-corrupt-WMI-installation.html