Un campo definito NULL e mai valorizzato e' NULL e lo trovi con IS NULL
Un campo valorizzato e poi rimosso oppure valorizzato con "" empty (vuoto), Non e' piu' NULL ma EMPTY e lo trovi con campo = ''
Se un campo definito NULL e proprio tale, non risponde alle aggregazioni (count, avg ecc.)
Un campo NULL ma diventato EMPTY invece risponde alle aggregazioni
Se vuoi ricondurre a NULL un campo diventato EMPTY devi espressamente aggiornarlo:
update tab set campo = NULL perche' da solo non tornera' mai NULL
Riassumendo i campi possono avere tre diverse condizioni, NULL, EMPTY o valorizzati
Nel tuo caso va bene come hai deciso di fare, sempre che la condizione di NULL/EMPTY non debba essere diversificata.