mutable can be used if you want a method to be const because it does not change the external state of an object, but you still need to change some internal state. In my opinion this is exactly what you have here. The deferred calculation of age is just some internal optimization and it reasonable to hide that optimization from the user. The user will not understand why getting the age modifies the object ('s external state).
But: I do not like mutable. mutable can be a problem if you have a const object which resides in read-only memory (e.g. read only file mapping). If you then call a const method on that object, the compiler will not complain. But the code will crash if you modify some mutable object.