Is that narrative still true post-modern cpp? On some level it feels like the cpp narrative was written in the early 2000s and hasn't kept pace with reality. Too cluttered, too object-centric, bad compile times, sure. Is the cognitive load of choosing safe pointers that much more than navigating the borrow checker?
The key reference on "modern" C++ is the "C++ Core Guidelines". They're pretty comprehensive but quite complex as well, and they don't really manage to establish a "sound" or "safe" idiom for the language; they're more focused on avoiding the most common pitfalls.