I forgot to answer your question: “ How do you rationalise NATO expansion as non-aggression but Russian reaction as aggression?”
NATO expansion has been voluntary as former Eastern Block countries clamour to join: NATO hasn’t invaded Poland and annexed them into NATO; Poland wanted to join. That’s the difference, and also NATO is not a Country; it’s a mutual defence Treaty. The only way NATO would be a threat to Russia is if Russia attacked a member state.
I acknowledge however that the expansion of NATO, voluntary or not, LOOKS like encirclement to Russia, and I can understand them feeling threatened. The most similar Russian provocation was the installation of Nuclear missiles in Cuba in the 1960’s, and the US did react to that. At one time Putin talked of joining NATO, perhaps it would be a better world today had he done so.