That will detect normal notices sent to the channel, not just op notices, and your $+() is a bit more long-winded than it needs to be: $+([,$chan,$chr(44) $nick,]

To detect op notices, you have to check that the target of the message begins with @ (to send an op notice, you send a /notice to @#channel instead of just #channel, this is what /onotice does), which is what I provided before.
Also, you said yourself that you can only receive op notices if you're an op, so there's no need for the @ prefix.
Here's a working version of your script:
on ^*:notice:*:#:{
if (@* iswm $target) {
echo -a OpNotice $+([,$chan,$chr(44) $nick,]:) $1-
haltdef
}
}