Hum I don't see how store forwarding breaks the illusion of total order of stores on a single memory location, at least in 5 minutes of thinking I can't come up with a litmus that would demonstrate it. In fact even c++ relaxed stores and loads preserve this ordering.
I think your definition is correct without the asterisk.
I think your definition is correct without the asterisk.
edit: tweaked working