I'm not sure if this is something XEP-0045 (MUC) allows, but XEP-0023 (Delayed Delivery) apparently allows putting a delay timestamp on all kinds of stanzas, including presence. Much of a chatroom's backlog's information is contained in the exchanged presences - when users joined, when they left, and when they changed nicknames. Is there a way to include those presence stanzas in the history, so a client can actually get an accurate backlog?
(If the standard doesn't allow this, I suppose the next-best substitute would be to insert them as "fake" messages from a virtual chatroom bot whenever the history is requested... does this sound like something an external module could do?)