Ответ 1
Ну, Include противоречит тому, где. Include говорит: "Загрузите все теги". Там где сказано: "Загрузите теги". Когда есть противоречие между запросом и Include, запрос всегда будет выигрывать.
Чтобы вернуть теги all из любого элемента с не менее одним тегом == text:
var items = from i in db.Items.Include("Tags")
where i.Tags.Any(t => t.Text == text)
orderby i.CreatedDate descending
select i;
(Untested, поскольку у меня нет вашей базы данных/модели)