I've been having this issue off and on for months, but usually restarting the shell would suffice (ie log out then log on again, or kill every instance of explorer.exe then restart it) so I just lived with it. While waiting for a solution, we did get a new icon for OneDrive, and that's better than nothing.
Unfortunately today the usual tricks wouldn't work, so I ended up here, and started following Quinnie Quoc's post dated 8 Sept, that unusually for these forums did contain some actual suggestions.
The usual OneDrive /reset dance was nice (it seems to be working better now than in years past) but did nothing to fix the problem (that is, explorer.exe plainly not loading the OneDrive shell extension; I know it is naive to expect a /reset to also reinstall the shell extensions, but hey, I had to try).
So I navigated to the regedit (thanks Quinnie) and saw that
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
was missing the OneDrive key. I wasn't really into uninstalling and reinstalling OneDrive (again - didn't fix anything last time so why should it work this time?) so I looked for the one thing that Quinnie's post fails to mention ie the OneDrive CLSID.
Fortunately my favorite search engine quickly found out that it's {A3B3D3B0-1B3C-4B3D-8B3C-3B3D3B3D3B3D}
I put that in the (default) value and restarted explorer.exe.
Job done.