Este tópico é semelhante, embora não exatamente no MySQL. De acordo com o teste mostrado lá:
IS NULL
é mais eficiente, pois não requer uma verificação. A busca geralmente é mais rápida do que uma varredura, pois inclui apenas registros qualificados, enquanto a varredura inclui todas as linhas. É explicado em mais detalhes aqui .
Outra diferença (embora não seja desempenho) é a sintaxe de negação:
IS NOT NULL /* using NOT operator */
! ISNULL() /* using exclamation mark */