Nie, MySQL postępuje właściwie, zgodnie ze specyfikacją SQL-99.
https://mariadb.com/kb/en/sql- 99/constraint_type-unique-constraint/
Jeśli używasz ograniczenia UNIQUE, ale nie chcesz wielu wierszy z wartością NULL, zadeklaruj kolumny jako NOT NULL
i zabronić wszelkich wiersz od posiadania NULL.