/debug shows that ircx servers send "IRCX" in raw 005:

Quote:
<- :irc.server.here 005 tidy_trax IRCX CHANTYPES=%#&+ MODES=6 etc


So catch raw 005:

Code:
raw 005:*:{
  if ($2 === IRCX) { set %servertype $+ $cid ircx }
  else { set %servertype $+ $cid ircd }
}
on *:disconnect:{ unset %servertype $+ $cid }
alias servertype { return $eval($+(%,servertype,$cid),2) }