Does it make sense to talk about minimization of an objective function over function spaces? I recent years, particularly in CS and machine learning, I notice that many authors write things like (see equation (4) for one of the thousands of examples)

Let $f$ be a function/hypothesis/policy in some function space $\mathcal{F}$, then the
  goal of this "learning problem" is to find $f^\star$ such that
  $f^\star = \text{argmin}_{f\in \mathcal{F}} \; \; L(f)$, where $L$ is some
  loss function

Is this a good practice to write an optimization problem this way? 
Does it even make sense? For example, I understand what a minimum point means with respect to parameters, i.e., $1 < 2$. But I don't understand what minimum means with respect to functions, as the space of functions is not linearly ordered, i.e., does not make sense to write $\sin < \cos$.
Wouldn't it be clearer, if not more correct, to write it as a minimization problem over the space of the parameters associated with the function instead?
All the algorithms for solving the optimization problem involves the parameters associated with a function as opposed to constructing the function directly.
For instance, the gradient descent is written as,
$w_{k+1} = w_k - \eta \nabla L(w_k), w_k \in \mathbb{R}^n$
and not
$f_{k+1} = f_{k} - \eta \nabla f_k, f_k \in \mathcal{F}$ 
Can anyone chime in whether writing a minimization problem in terms of the function is a good practice?

In your quote, $L$ is a functional, which takes a function and returns a real number. It absolutely makes sense to talk about optimizing the function argument $f$ for given operators like $L$, and the field of Functional Analysis is dedicated to studying these sorts of optimization problems, among other things.
