Mais RAM pode ser uma boa opção. Se o desempenho de leitura não for crítico, mas as operações de metadados forem: Eu recomendaria definir "primarycache" como "metadados" para seus sistemas de arquivos. Se você tiver SSDs para L2ARC, também poderá optar por usar a memória (ARC) para armazenar em cache "all" e secondarycache (L2ARC) como "metadados". Por favor, note que o contrário não funciona (o L2ARC é preenchido pelo ARC).
Should I expect major issues once the zpool is loaded with 95%+ data
Sim e não. Isso dependeria da plataforma / versão. Versões mais antigas têm uma enorme redução de velocidade a 80% da capacidade. Para corrigir isso: Faça 100% de certeza de que seus slabtables estão armazenados na memória! (Solaris: metaslab_debug = 1). Por padrão, as versões mais antigas armazenam apenas 2 lajes por disco na memória. Isso irá matar o desempenho. Eu acho que o FreeBSD e versões mais recentes fazem isso por padrão. Você precisa de alguma memória no entanto (especialmente com muitos discos).
Eu recomendaria usar um dispositivo SLOG (ZIL) de qualquer forma. Isso garantirá que suas gravações sejam confirmadas imediatamente, mas gravadas em discos lentos a cada x segundos. Isso é útil, porque você só precisa fazer 1 executar sobre o prato para várias gravações. Isso deixa mais tempo em disco para leituras, etc.
Eu não recomendo usar o ZFS no Linux para ambientes tão grandes. O sistema de alocação de memória ainda não é 100% perfeito, causando a luta pela memória do ZFS e do Linux.