Isso é um bug. Que foi corrigido com https://github.com/rakudo/rakudo/commit/f70d95e299 .
A razão pela qual agiu de maneira diferente do Ratque para qualquer outro tipo, é que o Ratcaso foi otimizado para não ter que fazer coerção e, portanto, não é necessário verificar o resultado da coerção. Nesse caso, o valor foi colocado diretamente no novo Durationobjeto. No entanto, isso foi feito sem desmaterializar, para que o Durationobjeto realmente fizesse referência à variável $xdo seu exemplo. Tudo está bem em geral, mas a .gistlógica de alguma forma criou um loop infinito, tentando criar uma representação do Durationpor causa dessa auto-referência. Devo admitir que eu realmente não olhei exatamente onde ele entrou em loop.
De qualquer forma, ao garantir que o valor não seja mantido dentro do Durationobjeto, o problema desaparece, pois não pode mais ser auto-referenciado.