In the rewrite of
MDEV-8139 (based on changes that were made in MDEV-15528), we introduced a wrong assumption that any persistent tablespace that is not an .ibd file is the system tablespace. This assumption is broken when innodb_undo_tablespaces (undo001… files) are being used. By default, we have innodb_undo_tablespaces=0 (the persistent undo log is being stored in the system tablespace).
A simple test with innodb_file_per_table=0 and innodb_undo_tablespaces=3 reproduced corruption where a page in the system tablespace had been filled with zeroes (except for FIL_NULL stored in FIL_PAGE_PREV and FIL_PAGE_NEXT).