Ne, MySQL dělá správnou věc podle specifikace SQL-99.
https://mariadb.com/kb/en/sql- 99/constraint_type-unique-constraint/
Pokud používáte omezení UNIQUE, ale nechcete více řádků s hodnotou NULL, deklarujte sloupce jako NOT NULL
a zakázat jakékoli řádek nemá hodnotu NULL.