Не полный ответ, просто кое-что добавить:
Вы уже понимаете общий случай использования ссылки (навигация) по сравнению с кнопкой (действия на основе JS).
Вот как я обычно думаю об этом в SPA:
В случае входа в систему / выхода из системы или отправки формы, хотя «действие» может перейти на новую страницу, но оно является косвенным, его сначала нужно обработатьи обрабатывается SPA, на основании которого принимается решение о маршруте.Кроме того, нет смысла позволять открывать вход / выход из системы на новой вкладке, ссылки на которую предусмотрены по умолчанию, или чтобы ее можно было добавить в закладки.
Также подумайте о том, что вы делаете с SignUp или Login, ониявляются кнопками.
Так что я бы пошел с кнопкой в этом случае.