Empty responses to Lightning Component Actions
This should be covered by https://success.salesforce.com/issues_view?title=auraenabled-annotation-not-working-correctly-at-runtime-for-json-serialze&Id=a1p3A0000008gca (which links to this post as an example).
The KI talks about JSON.serialize, rather than the implicit serialization of returning an Object from an @AuraEnabled method as you're doing here, but the underlying bug should fix your example here when rolled out.
Also note from the KI: "Please contact Salesforce support if an immediate fix is needed.", if you do this reference the KI so they can fast track the resolution that's internally linked to the bug.
We faced the same issue in our package org. Below is what I did to fix it:
1) Serialize the wrapper instance using JSON.serialize()
and sent the response as string to LC.
2) Converted the string back to JS Object using JSON.parse()