@Harmonizr финальный вид строки запроса получился такой
@Query("SELECT Event.* FROM Event JOIN GuestsEventsRef ON Event.eventId = :eventId JOIN Guest ON GuestsEventsRef.guestId = Guest.guestId WHERE lower(Guest.guestName) LIKE :queryGuest")
fun getEventWithGuestsById(eventId: Long, queryGuest: String): Flow<EventWithGuests>
В полученом обьекте тот ивент который нужен и именно его список гостей, но фильтрация гостей по имени игнорируется до того момента пока ни один из гостей не подойдет по фильру - в этом случае прилетает null