O uso de arrays no Firestore é bem tranquilo, o Realtime DB realmente tem esses problemas?

sim, é realmente muito chato de se mexer com db, tem que usar tipo:

"arrayName": {
    "0": {}
    "1": {}
}

e para puxar isso é realmente chato.