arr1 = ["1","2"]
arr2 = ["3","4"]

[*arr1 + arr2] #=> ["1","2","3","4"]

となります.

Array#+ のソースも覗いてみましたがなぜこうなるのかわかりませんでした.

どのようなプロセスでこのような結果が返ってくるのか, よろしければ教えていただけませんか.