Checkpoints should skip all deleted pages (as the did before MongoDB 3.6).
For a page to be marked deleted, it must have been evicted from cache and marked clean. Checkpoint should never instantiate deleted pages: if a truncate is not visible to the checkpoint, the on-disk version is correct. If the truncate is visible, we skip over the child page when writing its parent. We check whether a truncate is visible in the checkpoint as part of reconciling internal pages (specificially, in __rec_child_modify).