Actually I think the behavior of MariaDB here is somewhat consistent with how MySQL always did - see
CREATE TABLE blah (id INT) ENGINE = MYISAM MAX_ROWS = 500;
ALTER TABLE blah ENGINE = INNODB;
SHOW CREATE TABLE blah;
/*
CREATE TABLE `blah` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 MAX_ROWS=500
*/
In my understanding MAX_ROWS (and more create options back from MySQL 2 and 3) has no effect whatsoever with InnoDB (correct me if am wrong). But they are still listed and not removed by ALTER TABLE. Actually I am not even sure it has any effect with MyISAM of recent versions. However the above works as shown in *ALL* sql_modes (even 'strict_all tables'). So there is only a *somewhat* consistency. The behavior shown was like that even before sql_modes in MySQL came into existence.
Just an example that MySQL (and MariaDB) is ridden with lots of old stuff causing inconsistencies that could need a cleanup. But it is difficult to do without breaking compability (with Oracle, with old applications).
-- Peter