in reply to exists (EXPR), autovivified and conditionals

(Q1) WTF does autovivified mean?
It is, as you guessed, a blend of "automatic", and "vivify", which here means "automatically brought to life". You can see it in action here:
my %hash; $hash{"foo"}++;
After this code is executed, the hash entry for "foo" will exist. That is the work of the autovivification.

Now, what does it mean here? exist will not autovivify the hash element. All good news, no?

There is however, one caveat, actually a case where this fails to do the proper thing. exists will not prevent autovivification of a multilevel hash, except for the very last level.

my %hash; die "This is impossible!" if exists $hash{"foo"}{"bar"}{"baz"}; # However: use Data::Dumper; print Dumper \%hash;
This prints:
$VAR1 = {
          'foo' => {
                     'bar' => {}
                   }
        };
So, even though the element $hash{"foo"}{"bar"}{"baz"} still doesn't exist, yet $hash{"foo"}{"bar"} now does, and it is an anonymous hash. Not good.

(Q2) Why no conditionals except if and unless?
Huh? exists and autovivification don't care about conditionals. Your example should work, and in fact, does. Only, you won't see a thing unless you do something with the value the subs return. Replace return with print and you'll see what it does. Or print the return value in your dispatcher (the if/else contruct).