Both types actually represent a non-empty array of T, but (according to typescript compiler) they are not assignable to each other (playground link):
type A = [...number[], number];
type B = [number, ...number[]];
const a: A = [1];
const b: B = [1];
const ab: A = b; // Error: Type 'B' is not assignable to type 'A'.
const ba: B = a; // Error: Type 'A' is not assignable to type 'B'.
Since Typescript is considered to have structural type system, it should probably treat this types as being the same, because they seem to be structurally identical. In fact, every value that is assignable to A, is also assignable to B, and vice versa, so this types should be interchangeable.