I guess you have tested that a popmemu does fire OnPopUp if its attached to just a button of a form rather than the SystemTray
I use it quite often to update Enabled states of actions available in the menu based on context, but I tried again.
In this context, I found another "interesting" part:
If I call .Popup for the same TPopupMenu that's associated with the TTrayIcon, the .OnPopup event is triggered, but afterwards, the tray icon won't open the menu any more!
(I guess I need to test on trunk to be sure this hasn't been fixed, but I can't install a trunk version through fpcupdeluxe as I usually do, because of insufficient disk space for XCode. Will have to find another way or finally replace the SDD

)
The OP may find my macOS-specific Wiki article on NSStatusBar useful.
Indeed, thanks a lot! Would need some more attention to Apples framework, since I use checked menu items, submenus etc, but sounds interesting.