It's to do with the meanings of the words. Unfortunately English dictionaries are too terse to specify these definitions, but phrases like "winner" and "world record breaker" have the meaning "someone who wins or has won something", "someone who breaks a world record or has broken a world record". As soon as you achieve these statuses at least once, you retain them and can still be called a "winner" or "record breaker" in present tense, because the fact it was achieved in the past is how English listeners understand the word.
But phrases like "teacher" and "world record holder" are temporary statuses, having only the meaning "someone who currently teaches", "someone who currently holds the world record".
- Correct: Usain Bolt won a gold medal in 2012. Usain Bolt is a gold medal winner
- Incorrect: Hugh Jackman was a teacher in 1986. Hugh Jackman is a teacher.
This effect isn't English-only, I know of some other languages that also have classes of permanent-once-achieved statuses (like "winner") for which present tense can always be used after gaining the status, and temporary statuses (like "teacher") for which the tense matters depending on the person's: in Spanish the Hugh Jackman/Usain Bolt example is directly translatable, in French there's no word for "winner" as it's used here (afaik) but you have other examples like "président" (temporary) and "professeur" (permanent post-PhD). Icelandic can directly translate the above Hugh Jackman/Usain Bolt example, as can Dutch.
Since dictionaries don't tell you, how can you know whether a status belongs to the permanent-once-achieved category or the temporary category? As with lots of things in English, only by paying attention to common usage. However I came up with a heuristic that might go part of the way to explain the categorisation of the verb + er words your question is about: if the verb is something that happens once and only for a single instant, then the -er word derived from it is permanent-once-achieved. For example, "winner" comes from "to win" which only happens at the single instant of winning. "World record breaker" comes from "to break", which you only do at the single instant of breaking the record. However, "teacher" comes from "to teach" which happens continuously; you teach a class for many instances of time in a row, it's ongoing. Similarly "world record holder" comes from "to hold", and you can hold an object in your hands for many instances of time in a row; it's another continuous verb.
So, "winner" can be applied after-the-fact unlike "teacher" because the words have different meanings. "Winner" is "someone who wins or has won something", "teacher" is "someone who teaches". Since these meanings aren't always thoroughly documented in the dictionary, you learn them by observing common English usage or (tentatively) through the heuristic that verbs for continuous actions (like teaching) derive temporary statuses, and verbs for instantaneous actions (like winning) derive permanent-once-achieved statuses. This effect doesn't seem to be restricted to English.