formal certification can only be done by a recognized test-house like Dekra in NL or IMST in Germany. It means you have to send your device there and they will put it in an RF-silent chamber together with a gateway and test it for for LoRa compliancy. There will need to be a specific test part in your software that they can trigger to have the device respond in a specific way (and overrule the air time restrictions) and then they check the MAC layer implementation running on the End Device. (I can send you the whole test as they sent it to me in an email…)
More general info here
I spoke with an IMST employee during the conference and she mentioned you can do a sort of pre-compliancy check yourself but I have not looked into that yet. I just now sent her an email how this can be done. I will post it when I have more info.
I am no expert but if cost (20-25 eur for xdot) and redesign (new PCB and maybe port software to MBED-OS) is not a big issue and you want to make sure it will be future proof I would go for the xdot, libraries are maintained by the IC vendors, they are working on out of the box differential OTA updates and you have the secure element.
Where LMIC library (the arduino ones on git) and RFM95 do not have any formal support on the LoRa stack and libs are maintained by enthusiasts without any guarantee it will be kept up to date in the future.
(although I hope they will as open source remains a great concept and a bit the whole idea of TTN)
PS, And if you wait for a little bit there will be new modules that have the Semtech SX1261, 1262 or 1268 which are the new Lora IC’s that will also be able to communicate with the satellites TTN is going to launch, which will give you global coverage (while still being able to use regular gateways, you only need to have a different antenna)