CrossSiteList unions by list-NAME string equality, which is why no single web part can ever catch work that lives under five different list names - ProjectTasks, Tasks, Issues, Requests, Inbox. SharePoint's answer to this exact problem is the Content Query Web Part, which rolls up by CONTENT TYPE across a site collection and matches a type together with its descendants. That single difference would make one web part catch Task and CrewTask through the inheritance we already declared. The faithful fix for a fragmentation we currently paper over by stacking web parts.