Minimize edges of a directed unweighted graph
There is no polynomial-time algorithm for your problem, unless $\mathsf{P}=\mathsf{NP}$.

Let $H$ be a connected undirected graph with at least $2$ vertices and consider the directed graph $G$ obtained by replacing each undirected edge {u,v} of $H$ with the pair of directed edges $(u,v)$ and $(v,u)$.

If there is a Hamiltonian path traversing the vertices $\langle u_0, \dots, u_{n-1}, u_n = u_0 \rangle$ of $H$, in order, then the set of $n$ edges $\{ (u_i, u_{(i+1) \bmod n}) \mid i=0,\dots,n-1\}$ of $G$ induces a subgraph $G'$ with your property.

If there is a subgraph $G'$ of $G$ with at most $n$ edges that satisfies your property, then it must have exactly $n$ edges. Moreover the in-degree and the out-degree of each vertex must be exactly $1$, and the undirected version $H'$ of $G'$ must be connected. In other words $G'$ is a cycle that that traverses each vertex of $G$ exactly once, showing that $H'$ is a Hamiltonian path of $H$.