What constitutes denotational semantics?
The distinction I personally make between denotational and operational semantics is something like this:  


denotational semantics is mathematical and equational. The details of the reduction matter less than the end result, which is a timeless value in some mathematical space. 
operational semantics is algorithmic. It unfolds in individual steps in time.  The process is part of the the meaning, and the end result is just a distinguished step in that process.


The difference can sometimes be quite subtle, and it can be hard to tell if it is just a difference in style, or in substance.

However, we can see how Andrej's compositional definition follows more naturally from the denotational definition, and we can also easily imagine a non-confluent, non-compositional semantics that still meets the operational definition.