Let $X=C^1[0,1]$ and $Y=C[0,1]$, endow both spaces with the maximum norm. Now define $$D:C^1[0,1]\rightarrow C[0,1], f\mapsto f'$$ I want to show that $D$ is an open map. My idea was the following:
Proof Let $U\subset X$ be an open subset, we want to show that $D(U)\subset Y$ is open. So pick $g\in D(U)\Rightarrow $ there exists $f$ such that $Df=g\Leftrightarrow f'=g$. Since $U$ is open there exists $\epsilon>0$ such that $B(f,\epsilon)=\{f+h: ||h||<\epsilon\}\subset U$. Now I claim that there exists $\epsilon'>0$ such that $$B(g,\epsilon ')\subset D\left(B\left(f,\epsilon\right)\right)\subset D(U)$$ The second inclusion is clearly true. But now let me take $\epsilon'<\epsilon$ and pick $\phi\in B(g,\epsilon ')$, so $\phi=g+l$ such that $||l||<\epsilon '$. Now let me define $f_l=f+\int_0^x l(z)dz\in B(f,\epsilon)$, then $Df_l=g+l=\phi$. So we have shown the first inclusion. Now since $B(g,\epsilon)$ is an open ball by definition which is contained in $D(U)$ we have shown that $D$ is open.
Does this work?
Your argument goes through fine as far as I can see.
As I mentioned in comments, you can sledgehammer this with the open mapping theorem once you know that $C^k[0,1]$ is a Banach space, here we are giving it the usual norm, i.e. $||f|| = \sum_{i=0}^k ||f^{i}||_{\infty}$.
The key step is really an induction after you handle the $k = 1$ case, so assume we have that $f_j \in C^1[0,1]$ is Cauchy, so that for any subsequence of it, it is Cauchy with respect to the norm on $C[0,1]$, thus (not bothering with relabelling to denote this subsequence) , $f_j \rightarrow g$, and $g \in C[0,1]$, you also know $f_j' \rightarrow h$ , $h \in C[0,1]$ (after passing to a subsubsequence, again I am not going to bother relabelling), and you need to just show $g' = h$, to do so just write $h(t) = \lim_{j} f_j'(t)$, then $g(t) - g(0) = \lim_{j} f_j(t) - f_j(0) = \lim_{j} \int_{0}^{t} f_j'(z) dz = \int_{0}^t h(z) dz$, then apply the fundamental theorem of calculus.