Well, this is embarrassing. I was able to answer the first half of my question after a quick discussion with a student.

If I assume that $N \gg k$, the maximal number of edges in my graph is in $\Theta(k.N)$, as expected. The most precise answer, assuming that $N > k$ is $k.(N-k) + k.(k-1) / 2$.

To build an example, I can start with a DAG that has k nodes and a "maximal number of edges". Then I recursively add a vertex that has k edges towards the graph obtained at the previous iteration.

I am still interested by good references for solving the problem using random directed graphs with a bounded average out-degree.

To give some background to why I was asking this question. I am interested by the worst-case complexity of the following problem. I start with a directed graph and recursively remove all the leaves (nodes with out-degree zero) until I am blocked.
When I remove a vertex, I also remove all the edges to and from this vertex. I know that the graph is a DAG if and only if I can remove all its vertices.

In the context of my problem, the cost of each iteration is equal to the number of vertices in the graph (at that particular time), plus the number of transitions.