Hello. I'm trying to figure out how to properly build an ASP.NET application architecture. I understand that this is often a very individual question, but still.
I looked at two options for the architecture: layered and Onion.
1. Multi-level. Studied here
Here I didn’t like the fact that the Data Access Layer contains both models and the logic of their storage in the database.
At first glance, everything is fine, but when approaching reality, questions arise.
- They say that business logic should be in Domain. But after all for its work it is necessary to carry out operations from a DB, i.e. dependence on, conditionally,
IRepository
3. Hybrid Thinking, I came to such a hybrid architecture: 
- I intentionally took into account in it initially the support of Identity / another similar solution, because otherwise it can become difficult
- Separate interfaces for different repositories, because Generic-repository is an antipattern , because it does not allow to take into account the features of different models.
Actually, the question
Do you think this architecture will be comfortable enough to use?
UPD
User, Role - it turns out that Domain Models are dependent on Identity, which I would like to avoid. Or is it normal to map them to DTO in the business logic layer?

