If you're using vagrant (which I am assuming based on the file path in the error message you posted) to serve your application, then your local PC's hosts file will not be seen from inside your Laravel Application. The vagrant box will have it's own hosts file that you'd have to ssh into. You'd be better off setting IP address in your .env as something like MY_API_HOST=192.168.10.10 (and a MY_API_PORT key if it you want)
That said why would you trying to hit 'http://laravel_api.local/oauth/token' via Guzzle inside of your application? If you need to hit an internal endpoint from within your application, that's usually a sign that at least some portion of the logic in that Controller method needs to be extracted out into a Service, a Helper, a Model, etc.... and then called directly from within the controller that currently needs it... not by making a new post to an endpoint within your application.
For example, you could perhaps extract this logic into a public function refreshToken() on the User model, and in both of the controllers, call $user->refreshToken();