The 2000 character limit is a seemingly arbitrary limit enforced by 'jussi', Steemit's API middleware. Most other node operators use this middleware.
Since I've been building my own middleware, I'm not restricted by Steemit's jussi implementation details, only by the blockchain limits.
RE: Want Larger Custom JSON Payloads In Your Steem Operations?