Edit: The actual answer is North/Eastern Indians speaking an IE variant immigrated to Sri Lanka in the 5th/6th centuries and became the dominant language there since (Sinhala)
The Aryan Invasion Theory was propagated by the British to justify their colonial brutality, and no self-respecting historian will now call the gradual Aryan migration an invasion. The only people who still do are usually trying to achieve some political aims, usually imperial apologia.
Source: Edwin Bryant in https://archive.org/details/EdwinBryantLauriePattonIndoAryan...
The northern folks, the tamils are there because sri lanka used to be physically connected to Tamil nadu in recent history, like just a few centuries ago