I'm guessing the bug is in Text::Unaccent, but it's directly using the iconv C library, so I can't easily say for sure.
However, maybe this can work:
use strict;
use feature qw(unicode_strings say);
use Unicode::Normalize 'NFD';
my $author = "Sch\x{f6}\x{f6}ttl";
$author = NFD $author;
$author =~ s/\p{Combining_Diacritical_Marks}//g;
say $author;
This doesn't include and decode() or encode() of the incoming/outgoing strings. Also, I think that this can also break in cases where there are multiple combining characters.