quel valore sarebbe anche accessibile da entrambi (in quanto la variabile non e' locale alla singola funzione) ma la tempistica e' sicuramente errata: setti il valore al termine di una chiamata asincrona (gia' di per se' fuori dalla normale flusso d' esecuzione) eseguita al window onload mentre cerchi di leggere il valore al completo caricamento del DOM (sicuramente prima dell' onload)

fai scrivere quel console.log al click su di un elemento e dovresti ritrovare il valore che cerchi
ciao