TL;DR - Maybe… but people have known MODE is unreliable for years. Use TAGS.
First-hand knowledge would come from Twitch staff via documentation which includes this in the Intro:
While our IRC server generally follows RFC1459, there are several cases where it behaves slightly differently than other IRC servers; as described below, there are many Twitch-specific IRC capabilities. The differences are necessary to accommodate:
- The massive scale at which our chat servers operate, and
- Complex Twitch-specific features that we provide (to viewers, broadcasters, and developers).
We already know that the MODE/JOIN/PART/NAMES work in a non-standard fashion for a fact. They are all “batched” and run at intervals, and the MODE/JOIN/PART stop functioning after 1000 users.
It does state:
The code stops sending JOIN/PART updates when the room size exceeds 1k. After that, it only sends “MODE changes” (any of the +o and -o commands above).
Which I think you can take as, “it probably should continue to function” - but as others have said, there have been implementations that render the need for MODE moot. Anyone that maintains a bot knows that MODE is very unreliable.
Using the IRCv3 tags has been considered the efficient way of handling moderator status checks.
EDIT: googled for eggdrop IRCv3 support and found: https://gist.github.com/grawity/4455067/eb63e5e1764df2a4d9979fbdb52554e698da3ce1
Where g_cap.tcl references “Experimental IRCv3 capability support”