A diferença está na sintaxe.
Find e FindAsync ambos permitem construir consultas assíncronas com o mesmo desempenho, apenas FindAsync retorna cursor que não carrega todos os documentos de uma vez e fornece interface para recuperar documentos um por um do cursor do banco de dados. É útil caso o resultado da consulta seja enorme. Find fornece sintaxe mais simples através do método ToListAsync onde ele recupera documentos do cursor e retorna todos os documentos de uma vez .