Registration changes actual volumes

Happy New Year!
I’m new to this neuroimaging research. I’m trying to explore the Mindboggle-101 dataset which contains brain Atlas commonly used to train whole brain segmentation model.
I explored several sub-datasets such as MMRR-21 and NKI-RS-22. They all contains files “labels.DKT31.manual+aseg.MNI152.nii.gz” and “labels.DKT31.manual+aseg.nii.gz”. It seems they are segmentation masks of multiple common brain structures, one of them is registered upon MNI152 templates. I just want to confirm if the registered masks contain same volume as the unregistered ones. However, I found out MNI152 registered masks contains more volumes than unregistered ones, even I consider the changed unit voxel volume.

Then I just tested if registration actually changed real volume by following code.

fixed_image = ants.image_read(temnplate_path)
moving_image = ants.image_read(data_path)
transform = ants.registration(fixed_image,moving_image,'Affine')
reg3t = ants.apply_transforms(fixed_image,moving_image,transform['fwdtransforms'][0])
ants.image_write(reg3t, output_path)
print(fix_nii.shape, mov_nii.shape, out_nii.shape)
print(fix_nii.header.get_zooms(), mov_nii.header.get_zooms(), out_nii.header.get_zooms())
print(np.prod(fix_nii.header.get_zooms()) * np.prod(fix_nii.shape), np.prod(mov_nii.header.get_zooms()) * np.prod(mov_nii.shape), np.prod(out_nii.header.get_zooms()) * np.prod(out_nii.shape))

(181, 217, 181) (176, 198, 160) (181, 217, 181)
(1.0, 1.0, 1.0) (0.937, 0.937, 0.937) (1.0, 1.0, 1.0)
7109137.0    4586871.8   7109137.0

So registration actually changes volume by this calculation. However, It doesn’t make sense because we need to maintain the consistent volume. Where did I go wrong? Can you guys help out? Thanks.