I've kept one model per bounded context inside a monolith and it buys most of what the microservice diagram promises without the operational cost, but I still don't have a good answer for that one. When the collection comes back from the first query, an eager fetch that's genuinely needed is one whose parent entity is loaded as part of the same use case that consumes the collection, while an eager fetch that has merely moved the N+1 is one whose parent entity is loaded for a different reason and whose collection is then traversed somewhere else entirely. The fetch strategy hides the query count from the person reading the entity, so the next change adds a lazy path back in and the extra queries surface only when a page loads slow. What would you check first?