TMI is also cached, which means that it is not a live representation of the channel either. I am not sure how far behind it is, but I recall that it was not in perfect sync with chat when I was using that particular endpoint.
Regarding the 1,000 users, that could be the NAMES command that is being thought of that Twitch says after 1,000 users will only return OP users.