Really a good question (unfortunately Ī came too late to actually help). All this stuff perfectly makes mathematical sense, but its fundamentals lie in abstract algebra, and rarely are explained to students, and hence remain concealed from those who lack appropriate imagination.
To understand firmly bra and ket, not just multiply rows by columns and remember their conjugation rule, it is sufficient to learn two things: (certain pieces of) duality in linear algebra, including behaviour of linear operators, and the dual of a Hilbert space. A failure to understand either part of two may result in a mental havoc on any attempt to realize meaning of these symbols.
We see, original poster knows what is the dual vector space. In this paragraph we forget completely a Hilbert structure; there are only vector spaces (over ℂ) and linear maps. If A : V1 → V2 is a linear map and v : V2 → ℂ is a linear functional (element of V2*), then their composition v ∘ A maps V1 to ℂ, and hence belongs to V1*. This composition, for each given A , defines a linear map A* : V2* → V1* that is called “transpose” of A; this thing is tautological and preserves linearity over ℂ. Whereas action of A on V1 is denoted by A ∣ u ⟩ in Dirac notation, action of A* on V2* is denoted by ⟨ v ∣ A (note the order of v and A in the composition). We do not need to distinguish A* from A, because A always acts from the left and A* always acts from the right.
Now the second part: the continuous dual ${\mathcal H}\text{*}$ to a Hilbert space $\mathcal H$ is canonically isomorphic (i.e. the same thing) to its complex conjugate $\overline{\mathcal H}$. It is a mathematical fact. Virtually that’s why Hilbert spaces are so convenient, and Ī have to explain better what means “complex conjugate” in this context. An element ∣ u ⟩ of $\mathcal H$, said a “ket vector”, and an element ⟨ u ∣ of $\overline{\mathcal H}$, said a “bra vector”, are identical. Two spaces are connected by bijection, i.e. don’t differ as sets. Moreover, they have identical laws of addition: ⟨ u ∣ + ⟨ v ∣ corresponds to ∣ u ⟩ + ∣ v ⟩, multiplication by real numbers r ∈ ℝ : r ⟨ u ∣ corresponds to r ∣ u ⟩, and also the same vector norm. The only difference is multiplication by complex scalars c ∈ ℂ : c ⟨ u ∣ corresponds to $\overline{c} ∣ u ⟩$, where overline means complex conjugation, not to “c ∣ u ⟩”. A pure state of a quantum system may be written as either ∣ ψ ⟩ or ⟨ ψ ∣; although as complex vectors they are different, they represent the same state (note that scalar multiplication of a state vector doesn’t change the state physically). We see: bras and kets are no different from the point of view of physics, set theory, metric geometry, topology, and even real linear algebra. All the difference between them are opposite structures of complex (scalar) multiplication.
We can see how two parts combine together. If $A: {\mathcal H}_1 → {\mathcal H}_2$, then $A\text{*}$ maps linearly ${\mathcal H}_2\text{*}$ to ${\mathcal H}_1\text{*}$ and hence $\overline{{\mathcal H}_2}$ to $\overline{{\mathcal H}_1}$, that means we have a mapping (not ℂ-linear a priori) from ${\mathcal H}_2$ to ${\mathcal H}_1$. It is denoted by $A^†$ and, in fact, is complex-linear because the complex structure is reversed twice: one time from ${\mathcal H}_2$ to ${\mathcal H}_2\text{*} ≅ \overline{{\mathcal H}_2}$, and another from ${\mathcal H}_1\text{*} ≅ \overline{{\mathcal H}_1}$ to ${\mathcal H}_1$. Or, in symbols, an identity
$$ \overline{⟨ u ∣ A ∣ v ⟩} = ⟨ v ∣ A^† ∣ u ⟩.$$
(Note that somewhere “*” is used in such contexts for complex conjugation, instead of overline, that certainly contributes to a thick atmosphere of confusion around the asterisk symbol.)
The operation “†” is called “Hermitian adjoint” for abstract linear operators and “conjugate transpose” for complex matrices. It is simply a consequence of transposition of operators (from linear algebra) and the ${\mathcal H}\text{*} ≅ \overline{\mathcal H}$ isomorphism (from the theory of Hilbert spaces), but, if ${\mathcal H}_2 = {\mathcal H}_1$, it defines a non-trivial involution on operators on Hilbert spaces. It is a bit tricky, because transpose operator is tautological and complex conjugate is nonsensical in isolation, but namely for Hilbert spaces they make an essential operation together. Two aforementioned parts of algebra must be combined to obtain another operator from the same operator space.