Although there was never an update to the app on the client side, it appears that there was a server side update that aded this feature. Seeing a Pokemon in a gym will mark it as seen in your Pokedex. See here. According to that post:
There has been a background push update that adds the silhouette to your Pokédex for Pokemon seen in Gyms going forward.
An edit to this post added the part that I think pertains to your situation:
this feature triggers even when you are merely passing by the gym
You most likely drove or walked by a gym that had a Dragonite in it. Even though you never clicked on the gym and viewed the Dragonite yourself, it was added to your Pokedex and marked as Seen.
Also, it is important to note that this will only happen once:
it only contributes a phantom "Seen: 1" until the Pokemon is caught, and the number does not increase based on gym views