"Because Reasons"
The preservation of the shape of empty vectors is not suggested anywhere in the documentation, so this is not a bug.
The function copies to output the columns starting from the first column which has a non-whitespace, and ending with the last column that has a non-whitespace. Empty inputs have no such columns, so nothing gets copied, including not the exact size of the emptiness.