Another reason is performances. Computing intensives operations in Python and R are coded in raw C (and embedding custom C code in Python or R packages/libs is much more common practice than with js)
Because of these long standing roots and the ease of adding performance-critical parts, those languages have been home for ML frameworks for years (long before ML become the crazy trend we know these last years). And developing, and optimizing, frameworks with ML algorithms requires a lot of work - hence a lot of time.