This is a funny one. And it shows a bug in the module.
The problem is the line in the handler that creates the element using paste. It creates a new twig, and messes up the options on the "main" one.
So the workaround is to replace that line with this:
$elt= XML::Twig->parse( keep_encoding=>1, qq(<p>test</p>) )->root->cut;
This way keep_encoding is preserved and you get the result you want
,p>Then I have to fix this in the module, and hopefully in the next version your code will run as-is (you should really write
XML::Twig::Elt->parse instead of using the indirect object syntax though).