It’d be good to get clarification from someone at Twitter around this.
I’ve found more information from @andypiper at 4MB Static GIF Failing using twurl but the links to the documentation are outdated and it still refers to a 3MiB limit for an image on a Tweet.
So I’m still not sure what the correct limits are that we should be enforcing on our users. Unless someone from Twitter can clarify this, I’m going to need to just remove any client side checks and let users upload anything and wait and see if it errors.