I'm using similar architecture in my project and faced with some issues. Probably you also have them
- implementing complex integrations with third-party services. It's quite logical in the very beginning to put all integration code to the adapter layer to avoid coupling your business logic with external system's details. But finally you find yourself having too much logic in adapters and mixing integration specific with business logic.
- adapters sometimes need to be dependant from another adapters. To avoid this you must put glue code to use cases, but in fact these use cases are getting sintetical without real business meaning.
- interaction with queue on other asynchoronous ways of exchanging data doesn't match well on such an architecture. In theory there are should be adapters for each message handler but in reality it's not practical and comicated code without obvios benefits.
So, these are some of the drawbacks I've faced, but I can confirm that it works on huge projects and what's more important it makes onboarding new guys very rapid and fun process without giving them tons of instructions to read and follow.