I've come to the conclusion that the stack that gets aligned is not the current, but the one before the exception entry and so I shouldn't be concerned.
There's an ambiguous paragraph which mentions:
The CCR.STKALIGN bit indicates whether, as part of an exception entry, the processor aligns the SP to 4 bytes, or to 8 bytes
That made me think of the SP as the current stack pointer. However, researching more carefully, I've found a better explanation:
On an exception entry, the exception entry sequence ensures that the stack pointer in use before the exception entry has 8-byte alignment, by adjusting its alignment if necessary