Hi Jozef,
Are you using Cache Refresh? If yes then:
>> 1) What does Gluu need o=site DB for? Is it necessary at all?
oxTrust uses o=site only. It uses this branch to store snapshot of user key(s) attributes specified in CR configuration.
>> 2) If we connect Gluu to an external LDAP server, do we need to move also o=site database there?
Yes if you use 'Cache Refresh'. We need to sync both o=site and o=gluu.
>> 3) If we have multiple instances of oxAuth service connected to a single external OpenLDAP, do these instances need separated or shared o=site database?
oxAuth doesn't use o=site.
If you don't use Cache Refresh, you can ignore o=site.