Standardise EXPOSE and INTERNAL macros to PRIVATE

We should rename all our EXPOSE and INTERNAL macros to PRIVATE.

Then we can simplify the PRIVATE patterns in #32798 (moved) and #32522 (moved).