We went through this and landed somewhere unfashionable: previews work in the leaf modules and nowhere else, and we stopped trying to make them work in the feature modules.
Leaf modules are where the design work happens, so that covers most of the value. The feature modules get a simulator run. Accepting the split cost us less than six months of trying to flatten the dependency graph for the sake of a preview.