The short answer is, I'm not sure. :) The longer answer is, I expect this is going to be browser-dependent, at least in the near term, as browser developers chew on different implementations of the spec and decide on how to handle cases like you suggest.
However, my understanding on reading the spec, supplemented by the Opera blog, is that you would use individual properties like your second example:
.element {
will-change: opacity, top;
}
Specifically, the section on custom-ident:
Indicates that the author expects to animate or change the property with the given name on the element in the near future. If the property given is a shorthand, it indicates the expectation for all the longhands the shorthand expands to.
Since animation
is itself a shorthand property that expands to the various animation-related properties, I'd expect a better usage of will-change
is to explicitly state which properties will be animated in an upcoming rule, to allow the rendering engine to be as targeted as possible about the work it's doing.