That is interesting!
Is the data the same on both systems?
Size in Memory
On both systems does object.size( my_data_frame ) return approximately the same value?
Tidyverse also has object_size() from the pryr package that might return a different result as it has additional considerations, but for simple data frames I would expect it to be the same as the object.size result.
Content
Run a digest on the columns of the data set under both systems. Are they the same?
library(digest)
df <- data.frame(foo=c(1,2,3,4),
bar=c(5,6,7,8),
baz=c(9,9,9,9))
col_digests <- sapply(df, digest)
Are the digests the same before and after round trip?
After you round trip the data (serialize to disk and read back to R), is the data the same on both systems? Re-run object.size and digest as above. Do the values match the before & after on the same system? Do they match between the systems?