C'est en effet une "extension" du JS qui rajoute un certain nombre de fonctionnalité au langage.
La principale étant le typage statique, qui va te permettre de déclarer quels sont les types de valeurs acceptées par une variable/fonction/etc (par exemple des entiers ou des chaines de caractère).
Après le langage est compilé en JS pour pouvoir fonctionner sur les navigateurs.
C'est pas forcément nécessaire.
C'est intéressant si tu fais des sites sans framework mais avec du React/Angular + les librairies qui vont bien t'en as pas forcément besoin.
Et surtout ça limite l'apprentissage du CSS alors qu'il y a plein de trucs intéressant à maitriser (flex, grid, variables CSS4, etc).
Ça me parait une bonne base pour commencer, les sujets non traités (comme l'internationalisation) s'apprendront plus tard sur le tas.
Alors ça c'est la théorie, en pratique quand tu fais du React tu vas presque tout le temps te retrouver à utiliser les mêmes librairies (react-router, react-intl, react-redux, etc), donc au final l'écosystème te fournit l'équivalent d'un framework.
Et il n'y a pas de store en Angular par défaut, pour ça faut utiliser des librairies comme NGXS ou NgRx (voir du Redux pur, m'enfin je vois pas l'intérêt).
Pour l'apprentissage React est en effet assez simple vu que tu peux commencer à faire des pages simples avec juste des composants.
Ça te permet de commencer à comprendre certains principes de base que tu retrouves dans les gros framework web JS.
Après dès que tu veux commencer à faire des "vrais" site, la complexité sera la même qu'Angular vu que tu vas devoir importer pas mal de librairies.
Pou RxJS ouais c'est un peu velu au départ, après tu peux faire de l'Angular en ne l'utilisant que très peu (en dehors des subscribe venant des services comme HttpProvider).
En vrai tu peux faire la même chose avec du React "de base" (sans aucune librairie importée).