Как устроена андроид разработка по аналогии с веб фронтенд разработкой?
1. Нативная андроид разработка ведется в основном с использованием java(kotlin), иногда c++. Обычно интерфейс описывается в виде xml-файлов, которые отдаленно напоминают html, также есть возможность отдельно описывать стили/темы также в xml-файлах.
2. Да. Логика - в java-классах, структура и стили - в xml-файлах.
3. Как по мне, так общего у нативной андроид-разработки и веба очень мало.

Дам совет, который вы не просили. Если вы хотите войти в мир мобильной разработки из веба как можно проще и быстрее, не выбирайте нативную разработку. Возьмите кроссплатформенный фреймворк типа Flutter или React Native - что вам ближе, вариантов сейчас много.
Сам пересел на Flutter после нативной андроид разработки, впечатления можно описать фразой "а так можно было?". React Native и другие не пробовал.
Главный плюс новых кроссплатформенных фреймворков - высокая абстракция от платформы. Для меня самая боль нативной разработки была в управлении жизненным циклом приложения. Во Flutter все намного проще. Если вам когда-нибудь перестанет хватать произодительности, всегда можно написать что-то на нативе и дергать из фреймворка типа Flutter.
В общем, не ради холивара, не хотел никого оскорбить, просто совет.
1. Что вместо HTML, CSS, на чем строится интерфейс?
Разметка, графика, и немного (много) документации
2. Есть ли разделение на структуру, стили и программный код?
Есть макеты, к ним применяются стили, всем этим хозяйством управляете из кода
3. Какие вообще самые значимые отличия от веба?
Скорость, плавность, отсутствие костылей, и рекомендации от вендора.