El problema es que a !=b es NULL cuando aob es NULL.
<=>
es el operador igual a NULL seguro. Para obtener un NULL seguro que no sea igual a usted, simplemente invierta el resultado:
SELECT *
FROM my_table
WHERE NOT column_a <=> column_b
Sin usar el operador seguro nulo, tendría que hacer esto:
SELECT *
FROM my_table
WHERE column_a != column_b
OR (column_a IS NULL AND column_b IS NOT NULL)
OR (column_b IS NULL AND column_a IS NOT NULL)