Flexboxのバグらしいです。
ですので、以下のようにすれば問題無さそうです。
.wrapper {
width: 400px;
height: 400px;
background-color: lightgray;
display: flex; /* これを追加するとずれる */
}
.left-box {
height: 100%;
display: flex;
/* flex-direction: column; */
writing-mode: vertical-lr; /* 追加 */
flex-wrap: wrap;
align-content: flex-start;
gap: 20px;
}
.child {
width: 100px;
height: 100px;
background-color: red;
writing-mode: horizontal-tb; /* 追加 */
}