Understanding a vacuously true statement through the following example. I have the following logical implication
If John is a dragon, then everyone in town gets 1000 gold coins.

*

*p = John is  a dragon

*q = Everyone in town gets 1000 gold coins

Now lets say John is NOT a dragon and still everyone in town gets 1000 gold coins. Does this prove that if John indeed was a dragon, then suddenly people wouldn't get their money? We don't know that. So if the only information we have is that $p$ is false and $q$ is true, we have to just accept that John being a dragon is something that would cause everyone to get 1000 gold coins.
We have no evidence to the contrary.
Is my reasoning and understanding of vacuous truth correct?
 A: Yes, your understanding is totally correct.
In classical logic, by the principle of explosion, anything ensues from a falsity: whenever $P$ is false, $P$ (vacuously) implies $Q.$
Thus, when the antecedent $p$ is known to be false, the implication $$p\implies q\tag1$$ is indeed not useful, for then no conclusion can be derived.
In fact, when $p$ is false, $(1),(2)$ and $(3)$ are all useless for making any inference: $$p\implies \text{not }q\tag2$$ $$p\implies r\tag3$$
A: In classical logic, an implication $A \implies B$ is true if the antecedent $A$ is false regardless of the truth value of consequent $B$.
This is evident in the last two lines of the truth table for $A \implies B$:

Source: https://www.erpelstolz.at/gateway/TruthTable.html
If $A$ is false, then $A\implies B$ is said to be vacuously true. In this case, we cannot then infer anything about the truth value of $B$ without further information. In your example, if John is not a dragon, we cannot infer that the everyone in town gets 1000 gold coins (or not) without further information.
Here is a formal proof that $\neg A \implies [A\implies B]$ using a form of natural deduction (screenshot from my proof checker):

