Если вы хотите удалить элемент из массива, ваше клиентское приложение должно передать все значение объекта элемента. Это не сработает, если вы просто передадите индекс или одно из вложенных значений в этом элементе.
Для ваших данных это означает, что вам нужно будет создать HashMap с точным содержимым элемента (обе эмоции число и текстовая строка), и передайте его в update (). Например:
HashMap<String, Object> map = new HashMap<>();
map.put(emotion, ...);
map.put(text, "...");
documentReference.update(posts, FieldValue.arrayRemove(map));
Если вы не знаете всего содержимого элемента, это не сработает. Единственные другие варианты - это прочитать документ, изменить список в памяти и записать измененный список обратно в документ.