I brought the carb in and put it in our little ultrasonic cleaner. It's really only for jewelry and glasses, etc but I was able to fit the carb in there most of the way haha! I filled it up with hot water and some dawn dish soap. Set it for 10 minutes and the water was filthy afterwards even though the carb looked pretty clean beforehand. Dumped that water out and put it in some fresh hot water/dish soap for another 10 minutes. A little more dirt came off but not as much. Then I just let it sit in some hot water with no soap for a bit.
Brought it back outside, blew carb cleaner through everything again, compressed air, and verified the high speed channel was unblocked. I put the rubber gasket piece over the port in the carb throat and when spraying compressed air it shot way up. Put some carb cleaner in there and shot compressed air in there again. Saw a nice spray of carb cleaner come shooting out of that port.
Put the carb back together, dumped some fuel inside the carb so there was some stuff in there to start with. Got it back on the saw and all hooked up again. I pressure tested the carb needle before putting it back on the saw and it held, very slight leakdown. I've found that sometimes you get a false leakdown when the carb isn't completely full of fuel, so I wasn't too concerned with that.
Hoping that did the trick. If not, I'll have to do some more thinking on what to look at next.