Update 2...This question originally was "Does impersonation work with Web API?"...
And the question to that question is "Yes, it does." ...But the problem was not about Web API but impersonation itself. (The description of the problem is below)...But now ...