Ответом было использование .FirstOrDefault () в отношении где, потому что в отношении FirstOrDefault взять тот же элемент, который мы собираемся взять из выбора, так работает для предложения where
db.Ideas
.GroupJoin(
db.IdeaCollaborators,
i => i.Id,
ic => ic.Idea_Id,
(x, y) => new { Ideas = x, IdeaCollaborators = y })
.Where(gj => gj.Ideas.Submitter_Id == "Peter" | gj.IdeaCollaborators.FirstOrDefault().User_Id == "Peter")
.SelectMany(
x => x.IdeaCollaborators.DefaultIfEmpty(),
(x, y) => new
{ x.Ideas.Id, x.Ideas.IdeaStatus_Id, y.User_Id })
);