You could do:
julia> DataFrame(abc = abc,
def = [def; fill(missing, df_length-length(def))],
ghi = [ghi; fill(missing, df_length-length(ghi))])
5×3 DataFrame
Row │ abc def ghi
│ Int64 String? Int64?
─────┼─────────────────────────
1 │ 6 a 87
2 │ 7 b missing
3 │ 8 c missing
4 │ 9 missing missing
5 │ 10 missing missing