I probably should read the code to tell for sure, but I'll say what I think is happening from memory: The misses for the caches are the operations for which no mapping could be found. Where as the "tier" misses are the individual misses on each tier. So that you could have many "heap tier misses", while never have a single cache miss, should the mapping always be found in a lower tier.
Now my answer could be tainted by the exact version of Ehcache you use, but leaving certain oddities aside, I expect that's what you are experiencing.