I made a voxel engine in Unity that's nearly identical to 7DTD. Well, it's technically marching cubes, which the terrain blocks use in 7DTD. My method was to store both terrain and block voxels in a chunk with a flag indicating whether it's terrain or block. When generating the voxel mesh, the terrain blocks would generate treating any neighboring block voxels or non terrain voxels as "air". This allowed the marching cubes algorithm to do it's magic and make the voxels smooth appropriately, and mimic 7DTD's voxels 1:1.I'm pretty certain that MM stated that this was intended or at least near impossible to fix, since those two types of blocks are more or less completely different. But I would like an explanation as well... just so that I know if it will ever happen.
Since my voxels were all stored in one chunk, if I wanted to have special behavior depending on terrain or blocks, it was a simple array lookup and bit comparison. So, I could just treat a neighboring block to to terrain as being a "full terrain block" and voila! The terrain will connect to it without any weird holes.
So, if 7DTD stores block voxels separate from terrain, it may be challenging to make the special case comparisons without breaking their optimizations. That is, if block voxels are generated in a separate pass from terrain.
TL;DR: If 7DTD's voxel chunk's are stored together, i.e. block and terrain, and generated in one pass, it should be quite simple to fix.