Esta não é uma diferença entre echo e printf , mas uma diferença entre o processamento de números de printf e bc .
Eu acho que printf arredonda o último dígito e que bc não, mas apenas coloca os dígitos como calculados.
Você pode verificar isso fazendo com que ambas as abordagens gerem mais dígitos.