If "kitten" is a juvenile domestic cat, and "puppy" is a juvenile dog, are "baby kitten" or "baby puppy" superfluous or just extremely specific?
This all depends on context of course, but, generally speaking, the terms baby puppy and baby kitten are neither superfluous nor redundant. The term puppy can be used until a canine becomes full-grown, which can take around a year. If someone told me they had baby puppies or baby kittens for sale, then I'd assume they meant very young animals, maybe only a month or two old; if the animals were more like four or five months old, I'd expect the qualifier baby to be dropped.
I suppose it could be said that it was a tautology.
tautology noun : Needless or meaningless repetition in close succession of an idea, statement, or word
But I would say the repetition is useful to emphasise the point that the puppy or kitten was a particularly young one.