lvl 100 dragons can only be obtained from events (they're in the card flips of the current event for example) and on the 50- and 80-stamina maps for their designated color:
Campaign button > Special tab > Encounter with the -color- Bloom Dragon.
Monday: Red dragons
Tuesday: Blue dragons
Thursday: Yellow dragons
Friday: Purple dragons
Their droprate on their weekly maps is terrible though, it's not uncommon for people to spend a few hundred stamina without getting a single lvl 100 dragon.
I always try to have a stack of at least five lvl 100 dragons of each color, sometimes it even gets above ten of each, but it also frequently gets lower.