They ultimately do the same thing in this case. transmute_copy has more checks that won't apply to this case, so you might as well skip it. (The source code is simple.)
You don't need the repr(transparent) if you never transmute Weights or read a pointer to Weights as if it were a pointer to the array, etc.