It’s not that I’m ignoring the “declaration” aspect, rather I have a different understanding of what an “attack”
is.
Spite does not “declare” an attack, but it is still an “attack”. Compare Taunt and Aegis of Fame. As you pointed out, Spite gets around Taunt, which specifies the “declaration” for it to trigger. Aegis of Fame says nothing about a “declaration”, simply “to attack”. So a Spite attack would still trigger Aegis of Fame, because the model is making an attack action, even though it didn’t “declare” one.
But we know that Opportunity Attack gets around Aegis of Fame. Why? Because it's not an "attack" action. “It skips right to dice and resolving.” You still must "declare" you're making an opportunity attack reaction. But that doesn't mean that it is the same thing as an "attack" action.
viewtopic.php?f=4&t=34638#p40931An "Attack" is specifically an action. Outside of special rules exceptions, like Spite, Actions can only be taken by the Active Model. “Opportunity Attack” and “Counter Attack” are reactions and can only be taken by the Reactive Model.
Remember the wording on each "Attack", "Opportunity Attack", and "Counter Attack" are different. Each has it's own specific language, making each a specific thing.
To me, the only way that Rebuff would trigger vs a counter attack or opportunity attack would be if the wording was changed to this:
Rebuff - When an enemy model attacks, counter attacks, or opportunity attacks this model but fails to deal any damage, this model resolves a PUSH against the attacking model.
But it’s not written that way, is specifies attack only.