Raspi:
Interesting find. I also find this strange. So, I tried:
BooleanConvert[b || ! a, "DNF", ! (a && b)]
and got, as expected:
! a
So then I tried:
BooleanConvert[a || ! b, "DNF", ! (a && b)]
and got, as not expected:
a || ! b
Being perplexed, I then tried:
BooleanConvert[! b || a, "DNF", ! (b && a)]
and got, again as not expected:
a || ! b
It looks like the symbol a is getting special treatment, but I have a hard time believing that that is the case.
Unless I'm missing something (which is likely), I think there might be a bug, or at least an inconstency.
Thanks for posting.