Reflection is awkward for non-public methods and classes, but MethodHandle lookups can function fairly naturally on non-public things. Bosk functionality that uses reflection should allow MethodHandles.Lookup objects to be supplied so that non-public things can be used.
Note though that I think we should still avoid using private things. I think it's important that developers can mark something private and know that they retain full latitude to modify or remove it later without breaking anything.