Honestly, I'm not a fan of either method.
Putting each component in its own package prevents them from talking to each other.
Using restrictions on the entry points of one large "everything" package will only stop use of the entry points - users can still "cross over" from one app to another. It also makes the package very large.
IMO, the "correct" method would be to build one package for each Office configuration - which is, of course, far more work; and users switching from one version to another will, of course, lose their settings, because they are stored in the old sandbox...