"I've met too many front-end devs who are unable to separate the architectural pattern from the implementation of the library they are using."
That's because front-end development is based on a core of HTML/CSS/JS which itself does not lend very well to architectural paradigms.
People 'starting out' on the front-end, in some ways, never learn how to write propers software. They've been using weird ideas from the start.