Нашёл! Как всегда ошибка заключается в мелочи)
<Route path='/authorization'
render={props => !props.isLogin ? <Login {...props} /> : <Redirect to='/main' />}
/>
В подобной записи, props.isLogin берётся из LE (Lexical Environment) функции в render, и там оно равно undefined, поэтому постоянно срабатывает ложное условие, и происходит бесконечный редирект c /main на /authorization.
Решением является изменение названия параметра props на любое другое имя)
Пример:
<Route path='/authorization'
render={lalala => !props.isLogin ? <Login {...lalala} /> : <Redirect to='/main' />}
/>