My observation is that bones from the same stack are eaten in a round robin fashion, i.e. nibbling a bit on the first one, then a bit on the second one, ... and back to the first one when the last one has been nibbled on, resulting in the bones from what was the top stack to be spread into single bone stacks with one of two wear levels (before or after being nibbled on in this round).
What I think happens, technically, is that the dog eats from the first stack. That removes a bone from that stack and the partially eaten bone ends up at the bottom of that stack (basically the same as if your character partially eats a piece of roasted meat from a stack: you get a stack of meat and a partially eaten piece of meat below that). However, the odd part is that the partially eaten bone doesn't end up at the bottom of the whole stack, just below the currently processed stack, and similarly with the single bones resulting: the end up below the last one of the same type, but not at the bottom of the whole stack.
I agree it would be a lot better if dogs were to eat one bone at a time rather than spreading the nibbling effort around.