Eu acho que você está colocando o foco nos valores errados. No ágil, o valor do negócio está em foco. Você cria um produto para fornecer valor comercial a alguns usuários finais.
Se você criar a camada de persistência com atraso ou inventar ao longo do caminho, é sua estratégia para agregar valor comercial ao cliente. Não acredito que o próprio termo "ágil" dite se você deve fazer um ou outro.
O ponto de vista sobre o adiamento da estratégia de armazenamento de dados é defendido nesta apresentação por Robert C. Martin (um dos autores do manifesto ágil).
É uma apresentação muito boa, recomendo que você assista.
Mas eu discordo disso! Pelo menos até certo ponto.
Não acredito que você possa chamar uma história do usuário para "Concluído", se a história do usuário envolver dados que devem ser persistentes e você não tiver realmente nenhum tipo de persistência implementado.
Se o proprietário do produto decidir que agora é a hora de entrar no ar, você não poderá fazer isso. E se você não começou a implementar persistência até o final do projeto, também não tem informações sobre quanto tempo levaria para implementar a camada de persistência, deixando-o um grande risco de projeto.
Os projetos ágeis em que trabalhei não adiaram a estratégia de acesso a dados. Mas foi dissociado, permitindo-nos alterá-lo ao longo do caminho. E todo o esquema do banco de dados não foi projetado com antecedência. Tabelas e colunas são criadas ao longo do caminho, conforme necessário, para implementar o usuário armazenado que, no final, gera valor comercial.