Per-VM provisioned capacity numbers in vm_capacity_fact should reflect the size of each VM's VMDKs plus other overheads such as swap files. Each data store will contain some amount of overhead on top of the sum of provisioned capacity for VMs on that data store.
To dig into this in more detail, we would need to know the other columns you've included in your report. This will determine which overheads Cognos will include. It would also be helpful if you could specify what it is that you're comparing the OCI numbers to.
If you want to look more closely at this yourself, I recommend that you also include the numbers reported in the OCI Java GUI in your analysis. It's much easier in my opinion to tell exactly what it is that you're measuring in that interface than it is in Cognos or SQL. This will help you determine whether there's a gap between your report and OCI's understanding of the environment, or between OCI's understanding and reality.