Почему не стоит реализовывать взаимодействие с элементами при onmousedown?
Такой подход урезает функционал браузера, например во всех современных браузерах можно перетаскивать ссылки, а подобным подходом вы ограничиваете эту возможность. Плюс элементарное уважение к пользователю - он может передумать кликать в кнопку и отпустить кнопку мыши за пределами ссылки, в таком случае перехода не произойдёт.
Потому что не мышью единой.  Если вы обрабатываете onmousedown, то вам еще нужно и о других позаботиться, ontouchstart, и прочих. Клик более универсален в этом плане, к тому же, не каждый пользователь кликает на ссылку с желанием по ней перейти. Возможно, он промахнулся, а может хочет ее перетянуть. Не пытайтесь оптимизировать то, что не требует оптимизации, разница между  onmousedown и  onclick, если пользователь желает перейти по ссылке настолько незначительна, что ее никто не заметит.
Другое дело, если вам необходимо обработать именно onmousedown. К примеру, для реализации долгого клика мышью, который бы открывал ваше контекстное меню. Вот именно для таких случаев это событие и существует.