DateTime MLに来てたのでデバッグしてみた。Template::Stash の該当部分が



my $atroot = ($root eq $self);

となっており、同じ部分をTemplate::Stash::XSで探すと



atroot = sv_derived_from(root, TT_STASH_PKG);

となってることから、Template::Stashを



my $atroot = eval { $root->isa(__PACKAGE__) };

に変えたら直ったですよ。


追記:sub _dotop内です。もう一カ所同等の処理をしている箇所もあるんだけど、そこは変更の必要ないっぽい。