For a mockup you want to replace the Objects then save a layer of flat output file. While changing the object by making the smart layer into a linked smart object layer to different file will work. There is no good reason to do that, for the output. A flat output file would not contain any smart Object layers. A layers output file is not likely to be use as a template and the output file has the content the user wanted. Way would it matter what the structure of the output file is. All that matters is that the content of the output files is the Image the user wanted created. If you want things to be independent you need to create the mockup so they are independent in one way or an other. For example for a car seat. The Object can be for the entire seat. The mock can break the design into multiple smart object layers that the share the object. One smart object layer materialize the seat back an other the seat's bottom cousin.
If you have a complex surface you cans create a mockup to create replacement surfaces and then replace the complex surface with the mockup populates output images. For example:
"How can I set up new layers to control each box face independently?"
If you have both surfaces on single layer then you must separate them. Good starting point is as suggested by @Trevor.Dennis to create duplicated instance of the same smart object using New Smart Object via Copy.
The next step will be to edit both smart object layers and to delete object/surface that you do not need. You may want to delete extra space around remaining shape/object what may cause you to do some extra adjustment manually. Alternatively you can simply mask each smart object layer but that will leave both surfaces/objects on both smart object layers what may cause problems when replacing them if you have ready made files which you want to show on available space on each layer.