I don't think it matters whether ppoint points to progmem or ram, sizeof will return the size of ppoint itself, not the size of what it points to.
A function has no way of determining the size of an array when it is passed a pointer, all it has is the address of the 1st element. Usually if you want the function to know the size you would need to pass that in the call to the function.