Good against low-level humans but bad against low-level computer I'm probably what you'd call an advanced beginner. I spend most of my chess time solving puzzles on Lichess, which tend to focus on midgame calculation, making beneficial trades, and finding checkmates.

Lately, I've been trying to spend more time playing full games. I've noticed that I tend to do pretty well against humans in correspondence chess, but I usually lose against Stockfish, even when setting it to level 1.

The difference between low-level Stockfish and low-level human players seems to be that Stockfish plays consistently OK moves, whereas human players make occasional blunders that I can exploit. I would think that solving chess puzzles would be the best way to alleviate my dependence on opponents' blunders, but it seems to have had the opposite effect: If I can't spot an opportunity for a fork or pin, I'm never really sure what I'm supposed to be doing with my pieces. I'm wondering how I should go about improving my gameplay.

What are the likely areas of deficiency of a player who can win consistently against low-level humans but seldom against low-level Stockfish?
The computer is a calculator. Accordingly, its play will be tactically basically error-free at whatever level it is set. The number of ply (half moves) the computer is calculating ahead determines its level. So if you make any errors, even against a low-level computer setting, it will exploit them tactically and generally ulimately win. Human ratings are largely determined by tactics even up to relatively high levels, even Class A. So against a low-rated player who will generally make many tactical errors, you will have a lot of opportunities to exploit these and most likely win. I personally enjoy playing the computer at the lower and medium settings, since although I know I'll have to see everything within the fewer ply, I'll still have a chance to make a combination of additional ply depth to win, say 6 ply or three moves vs 4 ply or two moves, which I find difficult to do against the higher settings when it is "seeing" everything at a much deeper level. I find this to be a more human-like game. To succeed against the computer at its lower levels, you must accordingly refine your game to see all the tactical possibilities - forks, pins, skewers, discovered attacks, etc - both for and against you at these fewer ply. That's good practice for human play as well. And it's also important to remember that tactics tend to flow from good positions.  So if you don't see an immediate tactic, you should try to keep improving your position (gaining space, controlling open lines, occupying holes, etc.) until such an opportunity might arise.  And solving puzzles as you are doing is a good way to improve your tactics.