Does the callback concept of programming have any basis in computer science?
(I might be wrong, but this is my understanding.)

Callbacks, especially as seen in JS, are analogous to a semantic model known as Continuation-passing style (CPS). In CPS, a program’s flow is modeled as a series of functions, each of which takes in a continuation, and calls the continuation with the function’s result when finished. 

As stated, this is also a form of higher-order programming, where functions are used as values.