Включение не влияет на то, какие записи возвращаются. Это позволяет быстро загружать указанные свойства навигации. По сути, это способ сказать: «Да, я хочу несколько экзаменов, но позже я также буду использовать соответствующие места экзаменов, так что продолжайте и получите их из базы данных сейчас, чтобы сэкономить время». Это не имеет ничего общего с Where.
В данном конкретном случае, где трудно работать. Это не имеет ничего общего с Включить. Если вы действительно хотите начать с _db.Exams и использовать Where, я думаю, вы могли бы поместить Join где-нибудь перед Where, чтобы заставить его работать.
Однако, подумайте о запросе с другой стороны. У вас уже есть агент, который вы хотите. У этого агента есть коллекция ExamPlaces, а у каждого ExamPlaces есть коллекция ExamPlace. Вам просто нужно объединить их в один список. Примерно так должно работать (не проверяется на синтаксические ошибки):
return _db.Agents
.Find(supervisorId)
.ExamPlaces
.SelectMany(p => p.Exams)
.Include(e => e.ExamPlaces.Select(p => p.Agents))
.ToList();