When the widget is generated, platform will need to be added to the manifest. If the "OS" and "Platforms" keys are included in the library level doc comment, then they do make it to the lcdoc file that is generated. I started looking at the code briefly, but didn't follow it all to way to see if more was needed than just getting those keys added to the manifest.
The code does mix the terminology though. In the dictionary, platforms are (desktop, server, mobile) and OS is (mac, windows, linux, ios, android, html5). revSBAllPlatforms() returns (MacOSX,Windows,Linux,iOS,Android,Emscripten).
As an aside, the Toast library does have "Platforms: android" in the LCB source so the dictionary currently shows android in both the platform and OS filter lists.
If that happens, then the revSBAvailableExtensions handler can check for tExtension["platforms"] being empty before populating it with revSBAllPlatforms().
To adjust the manifest, so far I think the following need to be modified:
ide/Toolset/libraries/revidedeveloperextensionlibrary.livecodescript - line 571
toolchain/lc-compile/src/generate.g - add after line 171, add after line 259
Update: I was able to add "metadata" tags for platforms and os so they get into the manifest.xml file and are then loaded into the array when the module is loaded. Metadata tags do not currently get inserted into the documentation though, so the information would need to be included in both places. I'm thinking it would make more sense to target certain pieces of metadata and include them in the dictionary entries. Title does get included, so just a matter of figuring out where to add them.