1) Было что-то не так со стилем. Удалил из стилей все элементы, кроме двух простейших прямоугольников для background. После этого ошибка более не проявлялась.
2) Убедился что стиль для андроида доступен на устройстве, и нужные объекты присутствуют.
Действительно, под Андроид данный код не работает, и стили здесь ни при чем.
Что характерно, форма не обновляется, если ей присвоить новый стиль в рантайме. Внешний вид формы остается прежним.
Если вместо формы использовать например панель - стиль меняется.
Изменить цвет заливки конкретно в ресурсе у меня не удалось.
Это работает стандартным образом:
AObject := Panel1.FindStyleResource('backgroundrect');
if (AObject is TRectangle) then
TRectangle(AObject).Fill.Color := TAlphaColorRec.Yellow;
Если позарез нужно менять стиль формы в рантайме - положите на нее панель с align=alClient, и меняйте стиль панели.
Попробуйте, может вас устроит такой способ.
И да, расскажите, для чего вы меняете цвет именно в ресурсе, а не в примененном стиле объекта.
Мне правда интересен такой кейс.