This is probably a stupid question from me; but if it rendered internally at a higher framerate and the issue is dropped frames internally, why then at the displayed frames is the AMD performance lower than the NVIDIA?
Your assumption that the frames have been displayed is wrong, in the case of Nvidia. Not unless you run PresentMon explicitly with "-exclude_dropped".
As soon as two frames are successfully rendered within the same refresh cycle, they are otherwise both going to be counted as presented, but not actually displayed.
It does raise shouldn't performance be based on the actual fps/frame-time presented to the user rather than internal mechanism?
No, definitely not. If you did that, e.g. most VR ready applications with async timewarp would all achieve solid 90fps, since you have that v-synced timewarp loop which does present at a fixed 90fps.
There is neither a universal solution to measure input delay, nor to measure framerate at any point beyond the end of the internal render path. The goal for a smooth presentation is to have the start of each frame synchronized as good as possible with the screen refresh, but how that is achieved is an entirely different matter.
Especially with regard to the now popular method of temporal antialiasing it's even worse. It's only a matter of time, until we are not only going to see fixed window temporal anti-aliasing, but dynamic ones which will attempt to fit as many (unique) sub-frames as possible within each output frame, so you are going to see the game presenting precisely at the refresh rate, with a minimal latency for the latest sub-frame. But at the cost of visual quality, which then depends on the internal frame rate.
Now ask yourself: Does the display or present rate mean anything at all, under such conditions? And if the actual visual quality or smoothness of the animation actually depends n the internal framerate, is it in any way valid to disregard it?