Non, MySQL fait ce qu'il faut, selon la spécification SQL-99.
https://mariadb.com/kb/en/sql- 99/constraint_type-unique-contrainte/
Si vous utilisez une contrainte UNIQUE mais que vous ne voulez pas plusieurs lignes avec NULL, déclarez les colonnes comme NOT NULL
et interdire tout ligne d'avoir NULL.