Even if they are not serializable, OpaqueMgr::TypeID() is called during BuildJSON() for them and that previously just aborted. Closes #3473