I agree with all your points except the first two. There is absolutely no reason to teach C before C++. In fact, modern C++ is a very different animal from its C origins, and it's often better to teach the correct C++ idioms first, and then later go into detail on what happens under the hood.
Similarly, C++ is not an OOP language. It's a multi paradigm language, and arguably the generic programming style is better suited to C++ 11 and 14, than the traditional, inheritance heavy OOP style that was in vogue in the 90s.