Based on the information that's been presented here (thanks for the additional details, everyone), I now find myself agreeing that the correct behavior should be having outgoing notices appear in "Notice text" color if $color(own) == $color(normal). Otherwise, only if $color(own) != $color(normal) should they appear in "Own text" color.
Then again, because the
purpose of "Own text" is to visually distinguish one's
chat from others'
chat, and because /notices are by definition not
chat, it could be argued that outgoing notices should always appear in "Notice text" color, just as outgoing CTCPs (more "non-chat") also always appear in "Ctcp text" color. (Another argument: because of their "
-> -Nick- text here" formatting, outgoing notices can never be mistaken for someone else's chat to begin with.)
So now I'm indecisive.

All I'm sure about is that outgoing /notices always appearing in "Own text" color seems wrong.
For now, I've added this to my script:
alias notice {
if (!$server) echo -i2lbfrca [ $+ [ $iif($active == Status Window,e) ] ] Info * /notice: not connected to server
elseif (!$ctrlenter) {
if ($0 > 1) echo -i2tlbfmrca [ $+ [ $iif($target == Status Window,e) ] ] $iif($color(own) == $color(normal),Notice,Own) -> $+(-,$1,-) $2-
else echo -i2lbfrca [ $+ [ $iif($target == Status Window,e) ] ] Info * /notice: insufficient parameters
/.notice $1 $$2-
}
}