Não, o MySQL está fazendo a coisa certa, de acordo com a especificação SQL-99.
https://mariadb.com/kb/en/sql- 99/constraint_type-unique-constraint/
Se você usar uma restrição UNIQUE, mas não quiser várias linhas com NULL, declare as colunas como
NOT NULL
e proibir qualquer linha de ter NULL.