"false" et "true" ne sont pas des booléens mais des chaines de caractères.
Comme l'interprétation booléenne d'une chaine non vide donne toujours true, il est normal que "false" donne true au final.
Bien sûr, "" donne false, mais utiliser cette syntaxe pour un booléen ne peut qu'induire en erreur, et notamment amener à se poser des questions qui n'ont pas lieu d'être.
Il faut bien taper false et true sans guillements pour qu'ils soient considérés comme des booléens, comme l'a expliqué simogeo.