(this is really a continuation of an idea from @Zac67's answer)
LACP's Hash-based distribution is designed so with the ideal hash and infinite number of streams, spread can be made even (but think "L2"-based hash on both sides connecting L3-routers; they will ever load only one link). Anything else will lead to non-even spread, and father from the ideal, worse the spread. In the limit of a single flow, it will either take one path or another, not balancing anything at all.
There are no standards, but there are typical configurations: MAC addresses of a source and destination, or IP's and ports. Read your switch manual of what it can do. For example, if you find out that "L2"-balancing (based on MACs) works good for you, stick with it. "L3+4" behaves less predictably (but "more even in the average"!), because it depends on port numbers which are random.
Statistics won't ever match exactly. First of all, this is all dynamic and it is impossible to start everything in a transactional style, so all statistics starts counting simultaneously. Then, you can destroy and re-create your bond live without downing members, which will reset its statistics, but not statistics in members — and voila, nothing matches. Looks like something like this actually happened with your system. You can separate and enslave back the member as well, with the similar effect. Or you can just reset the statistics.
And second, members also have to send and receive LACP DU's, which are counted in members statistics and aren't propagated to the bond. And, depending on your configured LACP rate, DUs can be sent each second — counting numbers up.