You seem to overlook that one and the same extension could as well serve
A: as a standalone app (e.g. it could make sense to have TC base and gpm being the only extension just to have a console mouse)
B: as an optional dep to some apps (e.g. gpm with irssi)
C: as a hard dep to some other apps (e.g. gpm and links)
Why not derive from the total tree of all extensions, a list of extensions that fall under one or both of A or B, and treat them differently.
Perhaps allowing them to appear in onboot/ondemand tables as an exception.
Or, allow them to appear in the tables only when NO extension has them as a hard dep. This is simpler.