I think this would be the way to go, it adds an element of surprise that keeps the player on the edge, as they don’t know what they will receive. However you also have to be careful with the balancing of this, as people may get annoyed if they don’t get something they want. It does make it more fun rather than just telling them that they’ll get a specific pet from an egg.
This would definitely keep the player on edge as they progress through the game, but I am curious how the player would acquire the eggs, as in are the areas themed around the egg you would obtain or is it a large open area with all eggs for all types of pets in the same area?
If the area is themed, I think it would be best to obtain specific eggs that will hatch into specific pets. Otherwise, I agree with @LordHammy’s method.