InheritedExportAttribute didn't seem to be working for me. Not sure if it was something to do with the class structure I am using. A class that implements the Interface A which in turn extends Interface B which has the InheritedExportAttribute on it.
I found that using a custom export attribute as part of my custom metadata attribute actually a better fit for my model. Anyone implementing a plugin would need to decorate their class with the custom metadata attribute anyway.
Thanks for your help on this.