There are three things you have to keep in mind when doing campaigns:
1.imports
If you want to test your maps outside of the campaign, you would need to import the resources in the map. Otherwise the models will just be invisible.
In the end you want to have these imports inside the campaign archive only, so every resource is only imported once.
The best way is probably to import all resources into every map, so you can test the maps outside of the campaign. Then when you are finished with all maps and you remove the imports from the maps. The vanilla import manager is really slow, but I hope by using MPQ editor or mabye even Hive WE you could remove the imported files in a few clicks.
Being able to test the map from the editor is very important in my opinion. Having to start it from the campaign is tedious and makes testing really hard.
2.object data
object data can be inside the campaign archive or inside every map.
does not really matter, as the file size is small
3.transitions(game cache)
when you use game cache to store heroes, you have to make sure all associated object data is the same for both levels:
hero, abilities, items
it's best to have the same object data in every level anyway, so you don't have to worry about it