Потому что download не может работать совсем без ответов от вашего mikrotik - вам приходят пакеты с контентом и вы должны отвечать подтверждением, что эти пакеты получены. Если такого подтверждения нет в течение некоторого времени, то отправляющая сторона может приостановить отправку (зачем зря отправлять, если никто не получает?)
например на download у меня скорость 100 Mbps, на upload скорость 10 Mbps
Например, отправка подтверждений занимает 0.1 Mbps при download на 100 Mbps.
Например, upload забивает канал на 99.99%, т.е. от 10 Mbps остаётся свободно 0.001 Mbps, тогда удаётся отправлять подтверждения в 100 раз реже, чем при свободном канале upload, в результате скорость download падает в 100 раз.
Считаю, что так не должно быть
Ограничивайте (на уровне приложения) скорость отдачи, чтобы канал не забивался полностью. Вероятно, занятие 99% от пропускной способности upload уже позволит нормально качать в обе стороны (если нет, то можно ещё убавить, до 98% или до 95% - экспериментируйте).
Для полноценного Linux можно нагуглить твик, устанавливающий подобное ограничение на уровне операционной системы. Но не уверен, что для mikrotik подобный твик существует (впрочем, погуглите что-нибудь вроде mikrotik traffic shaping).