Как связанны backend+RESTful API+Базы данных?
Самый просто пример - это браузер, в роли клиента. И [*любой_язык*] в роли
REST-сервера. Сервер при этом, может взаимодействовать с базой данных, для генерации ответов на запросы клиента.
Но приложения на андроид пишутся на Java.
Не только на Java... Но, это не имеет значения как такового, на чем они пишутся на клиенте.
Получается, что если за основу сайта я взял Django, то и на мобильном приложении будет основа Django
На мобильном приложении, с вероятностью 99% будет клиент. На чем он будет написан - значения не имеет особого, но Django в андроиде - очень вряд ли.
Какую роль играет при этом сервер?
Роль сервера, судя по всему.
И да, последний вопрос: какие темы/аспекты нужно выучить, чтоб разбираться в этом?
Конкретно про REST - я привёл Вам ссылку выше. Так же рекомендую ознакомиться со спецификацией на HTTP-протокол, полезно и в качестве примера для Вашего вопроса и вообще в целом.