Yes you're right, for the 3 last, the <Album Artist> tag is missing in the Tag editor, whilst it's there for the first 2.
But then, why the behavior is different ? I mean, why if <Album Artist> is missing, MusicBee will substitute <Artist> , but that happens only if not used in a function ? Is that really the intended behavior ? and is it documented somewhere ?
Edit: I've tested with $Len(<Album Artist>) and $Lower(<Album Artist>), for both, the substitution is done to <Artist>, so my guess is that this is specific to the $isNull() function.
Edit2: TBH, that's actually nice since $isNull is specifically made to test a null/empty tag.
In fact, "$IsNull(<Album Artist>,<Artist>,<Album Artist>)" is actually the same as just <Album Artist>