Which exact report are you running? I'm pretty sure Lansweeper adds that S in there to identify it as a Server OS.
For my servers, the OScode in the tblAssets table shows 10.0.14393S / 10.0.17763S.
However, the Version column in the tblOperatingSystem table shows 10.0.14393 / 10.0.17763.
I checked OS: Not latest Build of Windows 2016 & OS: Not latest Build of Windows 2019 on my server (version 11.4.1.4) and both have logic to ignore the S in the tblAssets table.
(Select Case
When IsNumeric(Replace(Replace(Replace(tblAssets.OScode, '.', ''),
'S', ''), 'R', '') + '.0') = 1 Then
Cast(Replace(Replace(Replace(tblAssets.OScode, '.', ''), 'S', ''),
'R', '') As BIGINT)
Else 0
End As Expr1) As OsCodeNumeric,
To further dive into this report, it looks like the code above converts 10.0.17763S to 10017763. It then looks at the tsysOS table and gets the max version for the matching OS version. In my case, Server 2019 shows a max version of 10.0.19043. It looks at the numeric value (10019043) and if your servers are lower than that version they show up on the report. It also looks at the max build number for the matching OS numeric value (10019043) and shows any servers that are on the same version but not on the newest build.
It would be helpful to add a column to the report showing the expected version / build number so you know why the servers are appearing. However, I'm not sure how the tsysOS table gets updated. We don't have any Win 2019 servers on 10.0.19043 and that makes the max build number NULL since the report is looking for build numbers in your existing environment and not a database from MS.