Transform streams with async functions, preserving order