First of all on linux it is recommended to use: %LocalApplicationData%
ENM: System.Environment.SpecialFolder.LocalApplicationData
WIN: C:\Users\USER\AppData\Local
LIN: /home/USER/.local/share
OSX: /Users/USER/.local/share
If you run it as superuser /root/.local/share
is the path.
If you run it as normal user /home/victor/.local/share
If you want to see the path of a special folder use this:
Console.WriteLine("My folder: " + Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData));
Superuser path:

Normaluser path: 
This might help you locate your folders.
Since I ran the program as superuser it is in the (USER)->root/.local/share
You can only access this folder when logged in as root

Here is anotherone with normal user:

My Securityconfiguration (I made a client but I guess it is almost the same with server):
SecurityConfiguration = new SecurityConfiguration
{
ApplicationCertificate = new CertificateIdentifier { StoreType = @"Directory", StorePath = @"%LocalApplicationData%/OPCFoundation/CertificateStores/MachineDefault", SubjectName = "Mything" },
TrustedIssuerCertificates = new CertificateTrustList { StoreType = @"Directory", StorePath = @"%LocalApplicationData%/OPCFoundation/CertificateStores/UA Certificate Authorities" },
TrustedPeerCertificates = new CertificateTrustList { StoreType = @"Directory", StorePath = @"%LocalApplicationData%/OPCFoundation/CertificateStores/UA Applications" },
RejectedCertificateStore = new CertificateTrustList { StoreType = @"Directory", StorePath = @"%LocalApplicationData%/OPCFoundation/CertificateStores/RejectedCertificates" },
AutoAcceptUntrustedCertificates = true,
AddAppCertToTrustedStore = true
},
This code will create the certificate on runtime:
application.CheckApplicationInstanceCertificate(false, 2048).GetAwaiter().GetResult();