A couple decisions of note that I have made since I put out the spec
Closing animation was a bit hacky, as Drew mentioned, but I used an "isClosing" state that keeps the panel visible until the closing animation has finished. Even though it isn't used, I left in the isOpening state to allow for something to be done while it's opening, but I could be convinced we should remove that.
scrollOnOpen and exclusiveOpen conflict, but I left that up to the user to solve instead of bogging down the component with conditionals (will note this in docs)
the state of the accordion according to the query parameter takes priority over the defaultOpen prop in cases where both have values.
A couple decisions of note that I have made since I put out the spec