I keep hearing the claim that the Yavanas mentioned in Mahabharatha and Puranas are actually the Greeks. Is there any good reason to believe this? Does the scriptures give a description of the geography, culture, etc of the Yavanas that match with those of the Greeks? Is there any historical accounts of Alexander's invasion of India where the invading greeks are called Yavanas?
Your question can be answered both yes and no!
The problem is the term "Greek".
I am what you call "Greek" and I live in what you call "Greece". But in what you call "Greek language" and history books, there is no such word as Greece, Greeks or Greek language. So I can not proove you that greeks ever existed or exist!
I am Hellene (Έλλην), my language is the Hellenic (Ελληνική) and I live in the Hellenic republic (Ελληνική Δημοκρατία) or Hellas (ΕΛΛΑΣ - which is the official name of Greece).
If by Greeks you mean Hellenic, then yes Ionians or ΙΩΝΑ or Ιωνα or ΙΩΝΙΑ or Ιωνες or Ιαωνες or Iawones or YONA or Yonan or Yunan or Yunani or Yawnana or Yavana, were a Hellenic branch like Dorian, Aeolian, Arcadian, Troian, Bactrian and others. They all shared and respect same customs, history, language, gods and names.
The Yavanas were the Ionians (Ιωνας - Yonas)! Ionians were spreading their knowledge both west and east and at the same time they were gathering knowledge both from west and east. Ionians or Yavanas were the core of Hellenism.
I am reading a book about the apostle St. Thomas, who came to South-India in the first century CE (Christian Era). In this book the author is writing, that "Yavanas" were white men from South Europe (Greeks and later Romans). They, the Greeks and Romans, settled in (South-)India, because there were relations between India and Greek (Alexander the Great) and later between India and the Roman Empire.
With best wishes to India!