As a follow-up on #41664 (PR #42010), which ensured to copy data to the CPU when trying to pretty print it.
But, the PR was using CopyTo when the data was not using a CPU device allocation type, i.e.:
if (array.device_type() != DeviceAllocationType::kCPU) {
ARROW_ASSIGN_OR_RAISE(auto array_cpu, array.CopyTo(default_cpu_memory_manager()));
...
But this should better use ViewOrCopyTo, in case the data can be viewed as CPU data without a copy.