EDIT: it seems my issue is caused by the Addon deployment; it will execute (addon) custom resolvers BEFORE the standard (OOTB) ones, including the DXA resolver. There is no way to configure it any other way, nor is there a way to configure the execution order of multiple custom resolvers (from multiple addons): Custom Resolver Addon always has empty resolvedItems collection
I run into the same issue on 9.5:
My custom resolver (addon, deployed with addon service) needs to manipulate the items in the resolvedItems collection (let's say I need to remove some items based on some criteria).
However, the resolvedItems collection never contains any items. So, "Show items to publish" gives me at least 1 item, but resolvedItems collection count is always 0.
With 9.0, I would look at the order of resolvers in the Tridion.ContentManager.config (and make sure my custom resolver is executed AFTER any other (default) resolvers), but that is not possible right now.
At this point I have no idea how I can configure my Addon so that resolvers are executed in the right order.
<resolving>
<mappings>
<clear />
<add itemType="Tridion.ContentManager.CommunicationManagement.Page">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.PageResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
<add type="Sdl.Web.DXAResolver.Resolver" assembly="Sdl.Web.DXAResolver, Version=2.2.9.0, Culture=neutral, PublicKeyToken=b9a30ebcbde732e4" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.CommunicationManagement.PageTemplate">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.PageTemplateResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.ContentManagement.Component">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.ComponentResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
<add type="Sdl.Web.DXAResolver.Resolver" assembly="Sdl.Web.DXAResolver, Version=2.2.9.0, Culture=neutral, PublicKeyToken=b9a30ebcbde732e4" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.External.ExternalComponent">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.ComponentResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.CommunicationManagement.ComponentTemplate">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.ComponentTemplateResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
<add type="Sdl.Web.DXAResolver.Resolver" assembly="Sdl.Web.DXAResolver, Version=2.2.9.0, Culture=neutral, PublicKeyToken=b9a30ebcbde732e4" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.CommunicationManagement.Publication">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.PublicationResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
<add type="Tridion.Extensions.ContextExpressions.ContextExpressionContainerResolver" assembly="Tridion.Extensions.ContextExpressions, Version=9.5.0.0, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.CommunicationManagement.StructureGroup">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.StructureGroupResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
<add type="Sdl.Web.DXAResolver.Resolver" assembly="Sdl.Web.DXAResolver, Version=2.2.9.0, Culture=neutral, PublicKeyToken=b9a30ebcbde732e4" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.ContentManagement.Category">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.CategoryResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.ContentManagement.Bundle">
<resolvers>
<add type="Tridion.ContentManager.Publishing.Resolving.BundleResolver" assembly="Tridion.ContentManager.Publishing, Version=9.5.0.0, Culture=neutral, PublicKeyToken=360aac4d3354074b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.AudienceManagement.TargetGroup">
<resolvers>
<add type="Tridion.Extensions.ContextExpressions.ContextExpressionResolver" assembly="Tridion.Extensions.ContextExpressions, Version=9.5.0.0, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" />
</resolvers>
</add>
<add itemType="Tridion.ContentManager.ContentManagement.Folder">
<resolvers>
<add type="Tridion.Extensions.ContextExpressions.ContextExpressionContainerResolver" assembly="Tridion.Extensions.ContextExpressions, Version=9.5.0.0, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" />
</resolvers>
</add>
</mappings>
Note that the example in the documentation actually manipulates the resolvedItems collection, so it is safe to asume that should still be possible.