In my opinion it's not very mathematical. If we implement powers for vectors like this (and products, too, as some of these other packages do), then for consistency, perhaps products and powers of matrices should behave the same way? Ordinary matrix multiplication is much more common in mathematics than element-wise multiplication, and I think it would be awkward to have a separate operation for ordinary matrix multiplication. Anyway, it is easy to accomplish the same task:
sage: v = vector([1,2,3])
sage: vector([a**2 for a in v])
(1, 4, 9)
or
sage: v.apply_map(lambda x: x^2)
(1, 4, 9)