"Is there any sense in which even though any given notation system can't reach $ω_{CK}$, there is a hierarchy of notation systems so that when you take the "union", you do get there?"
In a certain precise sense, the answer to this is in negative (in a somewhat trivial sense). But it is a standard fact nevertheless.
For example, suppose we have a computable function whose output we interpret as the index of programs coding well-orders of $\mathbb{N}$. So, for example, suppose some number $x\in \mathbb{N}$ represents the index of a program (from $\mathbb{N}^2$ to $\{0,1\}$) describing a well-order (of $\mathbb{N}$) with order-type $\alpha \in \omega_{CK}$. Then say we write $[x]=\alpha$ to denote this fact. If $x$ doesn't describe a well-order then suppose we write $[x]=\omega_{CK}$.
(I just arbitrarily dug-up this $[x]$ terminology, it isn't standard or anything)
Now we have a more precise version of the above statement. We say that for every computable function $f:\mathbb{N} \rightarrow \mathbb{N}$ if the following condition is true:
for all $x\in \mathbb{N}$, we have $[f(x)]<\omega_{CK}$
Then we must have:
$\mathrm{sup}\,\{\,[f(x)]\,:\,x \in \mathbb{N}\}<\omega_{CK}$
The proof of this is quite easy of course.
A certain version of this should also hold for $\mathcal{O}$ I believe (I am not really familiar with it in a good enough manner though). In the sense that for every computable function $f:\mathbb{N} \rightarrow \mathbb{N}$ if the following condition is satisfied:
for all $x\in \mathbb{N}$, we have $f(x) \in \mathcal{O}$ and $|f(x+1)|_{\mathcal{O}}>|f(x)|_{\mathcal{O}}$
Then we must have:
$\mathrm{sup}\,\{\,|f(x)|_{\mathcal{O}}\,:\,x \in \mathbb{N}\}<\omega_{CK}$
This really directly follows from the very definition of $\mathcal{O}$, alongside the result(s) (I really need to study these at some point) which describe the fact that the set of ordinals described by $\mathcal{O}$ are precisely the ones below $\omega_{CK}$.
I don't know whether the condition $|f(x+1)|_{\mathcal{O}}>|f(x)|_{\mathcal{O}}$ can be dropped or not (I suppose I am quite dumb for not knowing this).
There is a slightly alternative way to look at your question. Every normal function $f:\omega_1 \rightarrow \omega_1$ has $\omega_1$ many fixed points. In standard set theory, surely true under choice (not commenting about the case I am not fully sure about). In particular we can suppose that we have a (total) function $F:\omega_1 \rightarrow \omega_1$ enumerating fixed points of $f$.
Now, as usual, I believe we can just switch over to an explicit version of $F$ in the sense that: $(1)$ Define $F(0)$ $(2)$ Define $F(x+1)$ in terms of $F(x)$ $(3)$ Define $F(x)$ for some limit value $x$. For example, following this outline, the following formulas, I believe, should be a precise description of $F$:
$(1)$ $F(0)=\mathrm{sup}\{\,f^n(0):n \in \mathbb{N}^+\}$
$(2)$ $F(x+1)=\mathrm{sup}\{\,f^n(F(x)+1):n \in \mathbb{N}^+\}$
$(3)$ When $x$ is a limit we have: $F(x)=\mathrm{sup}\{\,F(\alpha): \alpha<x\}$
There is one interesting point in all of this. If there is a fixed computable description (needs to be made a bit more precise) of well-order of $f(x+1)$ in terms of well-order of $f(x)$, and $\alpha<\omega_{CK}$, $f(0)<\omega_{CK}$, then we can show explicitly that $F(\alpha)<\omega_{CK}$.
This is quite relevant from the point of view of this question. On the very least, this already assures that whenever a given normal function $f$ is of certain form (I think the conditions on $f$ can be relaxed further) this guarantees that $F(0)<\omega_{CK}$ ---- $F(0)$ being first fixed-point of $f$.