But that would create a bottleneck on every component update for something that would only be set once. Also, how do you remove it again if someday your app doesn’t have that component anymore? How many dead components before it becomes a maintenance burden?
99% of the time your app already used all of the components by the time it removes something because something has hit them. If your app is such that this isn’t true then just ask for all of the components for entity ID -1 and they should register.
removeEntity() is very convenient for one-off entities but I would caution to use it carefully for real game objects as there might be some components you want to keep around. By murdering the whole entity, you force a cross-dependency between systems that otherwise wouldn’t be there. (And for the one-off entities like buffs, etc. the act of creating them already registered the components.)
…and I’m aware that the DecaySystem is already about this. (The original version before I created the open source one decayed components and not entities for exactly these cross-cutting reasons… but I ultimately opted for simplicity and convenience.)