@Shawn D,
Attached is a simple example demonstrating the first option, of packing first, then unpacking your truck.
loadthenunload.fsm
In this example, 20 boxes are stacked inside the truck before it moves onto the conveyor. If you move the view camera around so that you can see inside the truck, you'll see the boxes stacking in there:

I looked into making a sample of option 2 as well, but if you're using FlexSim's default truck object, it's just not a good idea. The truck flowitem is actually a task executor flowitem, and therefore includes a lot of extra functionality that you don't really need/want to have on your boxes.
A better option would be to either do the method demonstrated in this sample (and you could decrease process and inter-arrival times such that loaded trucks are created immediately upon their exiting the source, or at any other time), or generate flowitems later on in the model when they're really needed (for instance, a queue has an OnMessage trigger option to create flowitems - or use Process Flow to control item creation).