This could be due to credits cost line items.
In GCP FlexReports, the platform uses 'cost' column only for BigQuery related cost data and populates 'total_cost' in case of usage related data. In FlexReports, there might be 2 cost lines that line up with one another: one for cost and one for credits. The credit nullifies the cost line item.
In Cost History, reports the platform selects the service without credits and so only cost associated to it appears without credits. Navigating to the GCP console and filtering out credits should result in the costs lining up as expected.