It will work exactly as expected, it will resolve the absolute name relative to the working dir, and it will fail if there is no working dir.
If though you don’t know about your current working dir, or how it affects started applications, then of course Path.absname/1 will always fail for you.
It does not. Application.app_dir does internally also just use :code api and those point to the files in the _build directory and not the source directory.