Perl is behaving exactly as designed here, and there's no bug--merely an intentional inconsistency. Nobody ever writes $seen{$key}--, whereas they write $seen{$key}++ all the time and expect it not to warn when incrementing an autovivified entry in the hash.
It would be okay to make the decrement work the same way, but it would really only have the effect of making it run slower.