I have done some testing and looked at solutions. I'm still exploring this but it seems beyond my capacity. Factorio automatically localizes GUI elements that my mod interfaces with. But the API (to my knowledge) does not provide a way to directly convert a specific variation of a localised string to a regular string that I can run filtering on. The filter happens on the internal localised string that factorio returns.
For example: In english my default state of running the game if I want to print to the console the item name it will give me the internal name like fast-splitter. If I ask for the localized data, I'll essentially get the raw local flag entity name and the engine handles it's translation string. As such, if I run some simple print operation for the selected item in my mod's gui I'll get this in both english or spanish clients.
game.print("name: " .. item_prototype.name)
game.print("localised_name: " .. serpent.block(item_prototype.localised_name))
returns
name: fast-splitter
localised_name: { "entity-name:fast-splitter" }
Somewhere outside the Factorio API the engine handles the translation as far as I can tell and I can't filter against data I can't manipulate. It may be possible for me to manually translate LocalisedString, but that would be complex. I could also be wrong, my skill with LUA is limited and my comprehension of the Factorio API is even less-so. But I will investigate further.
With relation to SE, I don't exclude anything that is counted as an item, you'll see ruins and other things in there. Partly because there isn't much distinction in the API to my awareness. My mod should only pull any item (base or mod) added that can be placed into inventory. Even if the mod does not intend those to be placed in the inventory. And unless I create custom filters for various mods of item entities to exclude which is far beyond the scope of what I wanted in the first place, I don't know how I would distinguish between an item intended for use and some other items.