Asuswrt-Merlin's rstats binary may be compiled as 32-bit ARM even on 64-bit hardware. The in-memory and on-disk struct layout differs between 32-bit and 64-bit builds due to uint64_t alignment rules, making data files from a 32-bit router unreadable by a 64-bit one and vice versa.
The history file is a gzip-compressed history_t struct. Its size depends on how data_t is aligned.