No necesariamente son conceptos opuestos: efectivamente con la seniority se asumen aptitudes que no se esperan de un junior, y efectivamente, puede haber desarrolladores con más o menos carencias que otros. Es decir, igual que puede haber desarrolladores junior pacos o brillantes, puede haber desarrolladores senior pacos o brillantes. Y si ese baremo lo extiendes a lo que cada empresa considera uno u otro, se puede extender la escala de grises más aún.
Lo que a una persona le funciona, puede no funcionarle a otra; es cuestión de encontrar lo que más se adapta a tus necesidades y te permita progresar. A mí, como dije en el post anterior, HackerRank (que no LeetCode), me ayudó exageradamente a entender conceptos de programación que no tenía claros y a su vez, a adquirir soltura con mi primer lenguaje. Posteriormente, con los fundamentos ya asentados, cada lenguaje que he querido aprender, lo he hecho también a través de plataformas de este estilo, como LeetCode, pero símplemente estableciendo analogías con lo que ya sabía y tirando de cht.sh por un lado o Google/You por otro como complemento. Es decir, me suda un huevo y parte del otro el grindeo de algoritmos, que indirectamente te vas quedando con ellos también; para lo que he utilizado estas plataformas como describí anteriormente, es para interiorizar los fundamentos y en esencia para ver cómo es el chasis.