Since this is ipv4 unicast to ipv4 unicast the following hashing applies:
Since icmp has no layer 4 protocol then it will hash to one of the bundle members based on IP SA, IP DA and router id.
No Layer 4 protocol - Based on IP SA, DA and Router ID
Unknown Layer 4 protocol - Based on IP SA, DA and Router ID
TCP - Based on IP SA, DA, TCP Src Port, TCP Dst Port and Router ID
UDP - Based on IP SA, DA, UDP Src Port, UDP Dst Port and Router ID
SCTP (Stream Control Transmission Protocol ) - Based on IP SA, DA, SCTP Src Port, SCTP Dst Port and Router ID
You can determine which bundle member the packets will hash to using the bundle-hash command.
Thu Jul 21 16:44:53.477 UTC
Calculate Bundle-Hash for L2 or L3 or sub-int based: 2/3/4 : 3
Enter traffic type (1.IPv4-inbound, 2.MPLS-inbound, 3:IPv6-inbound): : 1
Single SA/DA pair or range: S/R [S]:
Enter source IPv4 address [255.255.255.255]: 192.168.1.20
Enter destination IPv4 address [255.255.255.255]: 192.168.1.26
Compute destination address set for all members? [y/n]: y
Enter subnet prefix for destination address set: :
Enter bundle IPv4 address [255.255.255.255]:
Enter L4 protocol ID. (Enter 0 to skip L4 data) :
Invalid protocol. L4 data skipped.
Link hashed [hash_val:0] to is TenGigE0/0/0/6 member id 0 ifh 0x400
If this had been two equal cost L3 paths instead of a bundle-ether then you would use show cef exact-route to determine which link will be selected.
Each flow will hash to one or the other links based on the hashing algorithm. It's deterministic based on the details of the flow. In your case both flows just happened to hash to the same bundle member so all the traffic ended up on one bundle member. If you had used a SA DA pair that hashes to the other link then you would have seen the 50/50 load balancing that you were expecting. If you had many different flows over this bundle then you would see a more even distribution of traffic even though it will not be equal in real world situations outside of the lab.