[guided]The subtle point is not the definition of $F^\perp_p$ in one fibre; finite-dimensional inner product spaces always have orthogonal complements. The point is smoothness as $p$ varies in $M$. We prove smoothness by constructing an explicit local frame for $F^\perp$.
Fix $p_0 \in M$. Let $r := \operatorname{rank} F$ and $N := \operatorname{rank} E$. Choose an open neighbourhood $U \subset M$ of $p_0$ on which $F$ is trivial, and choose a smooth local frame
\begin{align*}
s_1, \dots, s_r: U \to F
\end{align*}
for $F|_U$. For each $1 \leq i \leq r$, applying the bundle map $\iota$ to this frame gives the smooth section $e_i: U \to E$ defined by
\begin{align*}
e_i(p) := \iota_p(s_i(p)).
\end{align*} Exactness says that each fibre map $\iota_p: F_p \to E_p$ is injective, so $e_1(p), \dots, e_r(p)$ are linearly independent in $E_p$ for each $p \in U$.
We now extend these sections to a full local frame of $E$. After shrinking $U$ to a smaller open neighbourhood of $p_0$, choose smooth sections
\begin{align*}
e_{r+1}, \dots, e_N: U \to E
\end{align*}
such that
\begin{align*}
e_1, \dots, e_N: U \to E
\end{align*}
is a smooth local frame for $E|_U$. The shrinking is used only to keep the [linear independence](/page/Linear%20Independence) condition valid on one neighbourhood: in a local trivialisation of $E$, linear independence is detected by a nonzero minor, and the same minor remains nonzero on a sufficiently small open neighbourhood of $p_0$.
We want to replace the extra frame vectors $e_{r+1}, \dots, e_N$ by vectors orthogonal to $\iota(F)$. Define the Gram matrix map $A: U \to \mathbb{R}^{r \times r}$ by
\begin{align*}
A(p) := \big(g_p(e_i(p), e_j(p))\big)_{1 \leq i,j \leq r}.
\end{align*}
For every $p \in U$, this is the Gram matrix of the linearly independent vectors $e_1(p), \dots, e_r(p)$ in the inner product space $(E_p,g_p)$, so $A(p)$ is positive definite and therefore invertible. The entries of $A$ are smooth because $g$ and the sections $e_i$ are smooth. The entries of $A^{-1}: U \to \mathbb{R}^{r \times r}$ are also smooth: each entry of $A(p)^{-1}$ is a cofactor of $A(p)$ divided by $\det A(p)$, and the positive definiteness of $A(p)$ gives $\det A(p) > 0$ on $U$.
Let $I_r \in \mathbb{R}^{r \times r}$ denote the identity matrix, and let $\delta_{ik}$ denote the Kronecker delta, so $\delta_{ik}=1$ when $i=k$ and $\delta_{ik}=0$ when $i \neq k$.
For $r+1 \leq a \leq N$, define the smooth section $u_a: U \to E$ by
\begin{align*}
u_a(p) := e_a(p) - \sum_{i=1}^{r}\sum_{j=1}^{r} g_p(e_a(p), e_i(p))\, (A(p)^{-1})_{ij}\, e_j(p).
\end{align*}
This is the formula for subtracting from $e_a(p)$ its $g_p$-orthogonal projection onto the subspace spanned by $e_1(p), \dots, e_r(p)$. The formula is smooth because it is built from smooth sections, the smooth metric coefficients, and the smooth inverse matrix $A^{-1}$.
We verify the orthogonality directly. For $1 \leq k \leq r$, bilinearity of $g_p$ gives
\begin{align*}
g_p(u_a(p), e_k(p)) = g_p(e_a(p), e_k(p)) - \sum_{i=1}^{r}\sum_{j=1}^{r} g_p(e_a(p), e_i(p))\, (A(p)^{-1})_{ij}\, g_p(e_j(p), e_k(p)).
\end{align*}
Since $g_p(e_j(p), e_k(p)) = A(p)_{jk}$, this becomes
\begin{align*}
g_p(u_a(p), e_k(p)) = g_p(e_a(p), e_k(p)) - \sum_{i=1}^{r}\sum_{j=1}^{r} g_p(e_a(p), e_i(p))\, (A(p)^{-1})_{ij}\, A(p)_{jk}.
\end{align*}
Using $A(p)^{-1}A(p) = I_r$, we obtain
\begin{align*}
g_p(u_a(p), e_k(p)) = g_p(e_a(p), e_k(p)) - \sum_{i=1}^{r} g_p(e_a(p), e_i(p))\, \delta_{ik} = 0.
\end{align*}
Since $e_1(p), \dots, e_r(p)$ span $\iota_p(F_p)$, this proves $u_a(p) \in F^\perp_p$.
It remains to check that these sections span the whole orthogonal complement. Suppose
\begin{align*}
\sum_{a=r+1}^{N} c_a u_a(p) = 0
\end{align*}
for [real numbers](/page/Real%20Numbers) $c_{r+1}, \dots, c_N$. Expanding the definition of $u_a(p)$ expresses this as a linear relation among the basis vectors $e_1(p), \dots, e_N(p)$. The coefficient of $e_a(p)$ is $c_a$ for every $a > r$, so the linear independence of the frame forces $c_a = 0$ for every $a > r$. Thus $u_{r+1}(p), \dots, u_N(p)$ are linearly independent.
Finally, $\iota_p(F_p)$ has dimension $r$, so its orthogonal complement in the $N$-dimensional inner product space $E_p$ has dimension $N-r$. We have found $N-r$ linearly independent vectors in $F^\perp_p$, hence they form a basis. Therefore the sections $u_{r+1}, \dots, u_N$ are a smooth local frame for $F^\perp|_U$. Since the point $p_0$ was arbitrary, $F^\perp$ is a smooth vector subbundle of $E$.[/guided]