Empty docs are created on the server before ACID Transactions are committed. See MB-39941 for details.
If a Sync Gateway is syncing documents from the bucket, these empty documents are immediately synced to the CBLite devices. After commit, mobile will get another doc with the full contents. The revision number of the doc increments after commit. Also, the contents of the doc are stored in the xattrs. Which means the empty docs are not really empty. For large docs, this means that the same doc will sync twice!