Two little cleanup patches and one somewhat ugly but working approach to mark a room as read including all unread threads:
We request all unread threads first via GET and then request the messages for each unread thread via the DDP client. this successfully marks a room as read - finally!