Рационально ли хранить base64 картинки в local storage?
Нет
на 30% больше размер
Храните файл прямо на диске у пользователя
https://stackoverflow.com/questions/7951326/save-i...
https://caniuse.com/#feat=download
Собственно, почему нельзя? Раньше были страхи, мол, там места мало, на хабре пугали народ.
Но if (localStorage.getItem('ключ') === null) {......... просто картинка  с адресом, после скобок сохранённый блок с картинкой.