You mentioned the degeneracy subset definition. First lets re-establish the Grassman case as an example. Let $BU(n)=Gr_n(\mathbb{R}^{\infty})$ and take $e_i=(0,\dots 1, \dots )$ in the $i$-th position. Then define vectorfields of the canonical bundle by $v_i=pr_{V}(e_i)$ at point $V$. Then the degenerancy set is $X=\{V| det(pr_V(e_i))\neq 0\}$. The fact that this is "generic" is easily checked, so that $c_1=[X]$. Now since $v_i$ are always orthogonal, this is simply gonna be the cap product, by transverality of $\{V| det(pr_V(e_i))\neq 0\}$, or simply $c_i=[\{V|rank(pr_V(e_k))<i, k\le i\}]$, or the set such that the first $i$ $v_i$ are linearly dependant. This is easier to see in the more familiar setting of $BU(1)$. We have that $H^1(BU(1))=H^1(\mathbb{C}P^{\infty})=Hom(H_1(\mathbb{C}P^{\infty}), \mathbb{Z})=[\mathbb{C}P^{\infty-1}]^*$ and likewise, $H^i(BU(1))=[\mathbb{C}P^{\infty-i}]^*$, where these terms denote the limit of the inclusiosn $\mathbb{C}P^{n-i}\to \mathbb{C}P^n$. The situation for Stiefel-Whitney classes is similar.

Now for the general flag manifold, say $F=F(d_1,\dots d_i, n)$. Then take $v_j=pr_{V_i}(e_j)$, which gives a deneracy set of the dependant sets of the $v_j$, and so on, and we can proceed exactly as in the Grassmanian case getting $c_l=\{V|rank(v_j)<l\}$. This noteably agrees on the dot with the canonical maps involving other flag manifolds. This gives exactly the result we want, since the map $F\to BU(d_i)$ induces the top tautological bundle, and thus the Chern class is just the pullback of the original above class. Similar results hold for all other tautological bundles on the flag.