If a volume is migrated to another storage pool the usage records do not reflect this move.
If a volume is migrated to another storage pool the cloud.volumes table gets a new record for the volume. The uuid of the old record is set to null. The uuid of the new record is the same as in the old record. So far this seems to be the normal procedure within the cloud database.
Now, the usage records for this volume are still created but they don't point to the new record in the cloud.volumes table: if you make an api call with listUsageRecords you find usage records but without the usageid field and the description field contains the old Id of the cloud.volumes record. So it is hard to associate the usage data to the migrated volumes.
What should happen imho is that the usage records for migrated volumes contain the uuid in the usageid field and the description field should be updated so that it contains the new Id.