Donc tu l'as compilé pour ton Ubuntu 16.04 (version de noyau+libs) et son modèle de CPU. Pour le cpu ce n'est pas trop gênant normalement, par contre le noyau doit être identique (ou très similaire). De même, les dépendances doivent être aux mêmes endroits.
Pour que ça marche sur ton nas, tu dois donc le compiler avec les bonnes options ..., c'est à ça que servent les toolkit.
Ce n'est pas que ce n'est pas possible, c'est juste fortement déconseillé car sale, lent et risqué.
Pour compiler un module (ou un noyau), il faut les sources du module, mais aussi du noyau (à minima les entêtes) puis les outils de compilation et de debug, rien de tout ça c'est présent sur un nas et rien de tout ça ne devrait être installé sur une machine de "prod".
J'ai trouvé cet exemple, un peu vieux mais bien détaillé, ça devrait t'aider : https://hallard.me/how-to-install-kernel-modules-on-synology-ds1010/
Edit : un autre avantage de le faire sur un machine indépendante, si synology met à jour son noyau (ce qui est fréquent), tu n'auras qu'à mettre à jour ton toolkit et les toolchains dans ta vm, alors que tu si le fais sur le nas, il faudra tout reprendre depuis le début.