[] is a vector of zero length. SVector{3,Int}[] asks for a StaticVector with 3 Ints to be obtained from a vector of 0 Ints.
Use @SVector([1,2,3]) if that’s what you want.
This is a bit subtle because the default outer constructor looks a bit different for the parametric vs non-parametric cases. I’m a bit hazy on this myself as the documentation at Constructors · The Julia Language isn’t very explicit about the exact form for the default outer constructor.
In this particular case, I think the default outer constructor for S2 is
S2(x::Array{Int64,1}, y::Array{SArray{Tuple{N},Int64,1,N},1}) where {N} = S2{N}(x,y)