I altered your code slightly.

1. I added 1 check at the top which makes this handler ignore everything without the correct room key. This avoids the need to keep checking if the room key is correct.

2. I then added something that displays incoming messages to a @Subs window. If I didn't add everything, you can easily add additional debug display info. I don't know the format, but it would be nice to show the entire USERNOTICE as well, as a separate echo to @Subs. This should allow you to see whether there was a problem with the script, or in fact you did not receive a server message showing the other subs.

3. I changed the format of the event handler into having the later IF statements using the ELSE logic. It looks like your handler is looking for 3 specific values for the msg-id.key, so this way you can identify any usermessages that had a different string which should be handled but did not.

4. The code you pasted was missing the brace at the very end, so I added it. Hopefully it's already there in your code, which you can verify by either pressing Ctrl+H in the scripts editor, or clicking the checkmark icon in the upper right corner.

5. I vaguely recall forum posts mentioning certain situations where twitch blocks flooding messages, but I'm not sure whether that was messages received-by the channel owner or messages made-by the owner. Instead of using the -t switch where echo would use the 'timestamp' format, I used $time which shows the seconds. This lets you see if subs messages come in a burst or are spaced seconds apart.


Code:
raw USERNOTICE:*:{
  if ($msgtags(room-id).key != 30084163) return
  if (!$window(@Subs)) window @Subs
  echo $+([,$time,]) @Subs msg-id.key $msgtags(msg-id).key display-name.key: $msgtags(display-name).key msg-param-sub-plan.key: $msgtags(msg-param-sub-plan).key

  if ($msgtags(msg-id).key == sub) {
    var %nick $iif($msgtags(display-name).key, $v1, $msgtags(login).key)
    var %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99, Prime, Prime)
    msg $1 /me agonySUB NEW SUB!! agonySUB Thank You %nick For Subscribing With A %sub-plan Sub! Welcome To The Legends! agonyHYPERS bingAw

  }
  elseif ($msgtags(msg-id).key == resub) {
    var %nick $iif($msgtags(display-name).key, $v1, $msgtags(login).key)
    VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99, Prime, Prime)
    msg $1 /me bingAw RESUB!! rooAww %nick Has Just Resubscribed For $msgtags(msg-param-months).key Months In A Row With A %sub-plan Sub! Welcome Back To The Legends! bingAw rooAww
  }
  elseif ($msgtags(msg-id).key == subgift) {
    var %nick_from $iif($msgtags(display-name).key, $v1, $msgtags(login).key) , %nick_to $iif($msgtags(msg-param-recipient-display-name).key, $v1, $msgtags(msg-param-recipient-user-name).key)
    VAR %sub-plan $replace($msgtags(msg-param-sub-plan).key, 1000, $chr(36) $+ 4.99, 2000, $chr(36) $+ 9.99, 3000, $chr(36) $+ 24.99)
    msg $1 /me rooGift GIFTED SUB!! rooGift Thank you %nick_from For Gifting A %sub-plan Sub To %nick_to $+ ! Welcome To The Legends! rooGift rooGift
  }
  else {
    echo 4 @Subs Warning: The above message was not handled.
  }
}