This phenomenon can be caused for a couple of different reasons and varies by cloud. See below for details:
For AWS:
Make sure you have set a filter under Asset Report to view both the active and inactive assets.
By default the Asset page will only display the active assets.
For Azure EA:
The discrepancy in the VM count is mainly caused for two reasons:
a. Unconfigured Subscriptions.
Subscriptions must be configured with the healthy Service Principal to collect the assets details and their metrics data.
b. VM Scale Sets.
In this case, you're expected to see more Assets in the Asset report than the FlexReport count.
This is because Azure will not report the individual line item for each Virtual Machine inside the VM Scale Sets and it only reports VM Scale Sets asset in the single line item.
In the Asset report, all the Standard VMs and the VMs under the VM Scale Sets will be visible.