Unwrap produces utter randomness even with marked seams, while smart UV project kinda works
The issue is unclean geometry left from boolean - specifically this area:



There is very thin long face running alongside the wing's trailing edge that is causing the problems. Only the top surface of the wing does not unwrap correctly, if I select other parts separately, they unwrap individually fine, so the problem is localized to that area only.

If you clean up that geometry, the model will unwrap correctly. Unfortunately removing doubles or recalculating normals won't help, it looks like some nasty leftovers from ngons.