Depends on what you mean by "right". I get
$VAR1 = [
\1,
{
'key' => ${$VAR1->[0]}
}
];
which can't be evaluated correctly by Perl's eval but it does contain all the necessary information. A human can see what's going on and it's probably possible to write something that would reconstruct the correct sturucture but it would involve some sort of constraint solver.
Purity just controls whether it should be compatible with eval(). Even with Purity=0, this information should be preserved otherwise certain structures would have identical output even though they're not identical.
Deepcopy controls whether we care about cross references so it definitely should be dropped when you have Deepcopy=1.