Should I query from a snapshot or use a backup for reporting purposes
Solution 2 is very confusing as written and your question seems to start with query performance and moves into backup best practices. In solution 2, you still have your app DB and your new reporting DB on the same server. This means you'll still have the same resource contention (memory, CPU). You won't have the same blocking issues since you did create a reporting copy of your. This has nothing to do with the backups though.

Solution 1 is very common. You can even keep the data more "up to date" with log shipping. There's lots of information on this site about that.

Regarding your backups, some general advice would be


Run your backups from your App DB (at least). This is the data you really care about.
Back it up to wherever you want. Ideally not the same drive your data files are on. Corruption on these drives could mean corruption on your data files, and backups, leaving you dead in the water for recovery
Schedule your backups. You shouldn't be doing this manually. The frequency of your backups should be based on your RPO and RTO.