You should indeed run the app from your original project directory, not from a newly created empty project. What I suspect is happenings here is that hot code push downloads the code from your deployed app on the first run, which is why some the non-native parts seem to be working. But native plugin code, settings, etc. are not downloadable and will be missing.
Yep, I got the entire thing to work properly by including settings.json and packages file in the “empty” dir. Apparently, it gets everything else from the deployed app (source, etc.)