Dog does not equal dog. The kibble my old dog has been thriving on for years is not well suited for my puppy, and the Maltese is different yet again. This is why your question is hard to answer.
Dogs evolved from wolves, but we can’t ignore the time they spent evolving. First, they were scavengers, eating everything they could find. Then, jobs were found and breeds created. The guard dogs continued to get leftovers, but these varied in content due to differences in area, as well as the economic status of their owners. When meat is scarce, the dogs get stale bread rather than chicken.
Meanwhile, the lap dogs were fed turkey breast, and the terriers spent their lives eating rats. Only the expensive dogs of the upper class were fed a diet specifically created for dogs, and that changed with the years, depending on what people thought was good for their canine friends.
So, while you may never find out which part of the canned food disagrees with your dog, kudos for even thinking about this stuff. Too many owners are unaware of or indifferent to their pets’ stomach issues. Dogs – like humans – are much happier when they are on a diet which suits them.
I think you should consider having your dog eat only kibble for a couple of weeks. If his stool is consistently firm and there is not too much of it, perfect. You can then try out different brands of canned food, one at a time, allowing your dog to adjust slowly.