In resource explorer, under "Hardware" if you scroll to the last node under "Workstation Status" - is the "Last Hardware Scan(Client Local Time)" up to date?
Are you checking for OS ver under "Operating system" > "Version" in Resource Explorer?
Also, you first question point mentions two things - the resource explorer info and also
"way to force sccm to update collections"
Do you have a collection with a query rule based on the OS version - that is not adding these devices in?
How long has it been (on average, i.e. been a couple of days? not that should have to wait that long just curious)?
In resource explorer; if you check Hardware History instead of just hardware, what are the intervals like on the dates (may as well use Operating System node as the example), e.g. 2 days between them, daily, weekly etc. Just curious if the intervals seem long.
To be honest though a simple HW inv cycle should have taken care of this...