IIRC, "Scalar"s are handled in specialized ops in c++, so they probably just end up as arguments to cuda kernel functions. And cuda automatically copies kernel arguments (pointers & scalars) to gpu.
So maybe scalars are marginally faster than buffers, not sure.