Flow of control? or Control of flow? In most PL textbooks (even in language specifications) statments like if, while, for, break are categorized as flow of control statements. 
However, it is not consistent; i.e. sometimes the same text uses control-flow statement (note the dash), or control flow statment, I read sentences that says control flows...

I understand those statements control the flow of execution, hence control of flow. But many texts (even wikipedia) says otherwise, implying control is something that flows in a program

What is the formal, language-agnostic definition of this concept in CS, if any?
I am not sure what you mean by "language-agnostic definition of this concept in CS"; such notions are rarely (if ever) rigorously defined. Someone uses them first, others pick them up and eventually they become standard vocabulary. That's ho we get conflicting notation all the time.

In this case, I don't see an either-or. Both makes sense, depending of how you look at it. The semantics of the language control the flow of execution, i.e. determine which statement is executed next. But as this control -- once it is implemented in a processor -- only looks at the current statement, it flows along, that is control flows.