You are correct, it does not. You will have to mark the method as a friend in derived.
I read P0847R4 and got curious about an edge case.
int i = 0;
template <class Self>
auto& f(this Self&& self)
struct Derived: private Base
Now, as I am reading the proposal the call
should be ill-formed as it tries to access Derived.i but that is private in
this context, or does the proposal change the access rules somehow?