So it seems like this is a bug, but .Get has behaved this way for years without complaints. What impact does this have on what you are trying to accomplish?
It didn’t cause a problem for me directly, but my concern is that someone might think that {{ if ne (.Get "foo") "" }} or {{ if ne (.Get "foo") nil }} are correct, when they might not be, depending on the argument syntax. The API should be clear and consistent on the values, regardless of whether {{ if .Get "foo" }} is the primary way of checking for given values.