So, let me try to get this straight in my head. While FN+button produces a symbol, as Shift+1 produces an exclamation mark, the former is handled differently to the latter? In that, the former is somehow hidden from the OS, while the latter is a software keyboard mapping?
Yes, whenever you strike a key on your keyboard a scancode is sent to the OS (this is just a specific number for each key)
In case of Fn+Key a single scancode is sent to the OS. In case of shift+key or AltGr+key, two scancodes are sent the one for shift/altgr and the one for the key.
Subsequently the OS converts the scancode(s) it receives into a keycode which represents a locale-dependent symbol E.g. a letter, number or punctuation symbol.
Bottom-line, as mentioned by others, Fn is not under control of the OS, whereas AltGr is.
Using AltGr makes it easier on the keyboard driver side as the scancodes don't need to be handled customly. On the other hand modifier + key combinations need to be handled by the OS and the Pyra will be using uncommon ones, merely shifting some of the work. <edit>It is less work on the OS level as standard mechanisms are in place for this</edit>
Also, if I am not mistaken, the scancode to keycode conversion is handled by XModmap which will not be present outside of the X windowing system
and might not function in emulated and/or virtualized environments either.
<edit2>Strictly speaking, the term OS is not entirely accurate here. However, I think the rough distinction of the mechanism should be clear.</edit2>