Just chiming in here again to post an update on my situation. Bike finally returns to idle when letting go of the throttle!

Here the things I carried out when I pulled the carbs:
- Verified needle notch position on all carbs.(#4, counting from blunt side). Did not have to do a bench sync, slide positions seem to not have moved at all after putting everything back together.
- Installed the original Keihin pilot (#38) and main jet (#100). I opted to stay with the Keyster float needle with its seat and air mixture screw.
- Installed a genuine main jet o-rings from Honda. Actually had to use a small teflon drift to install it! Used a bit of oil on it as to not damage it during install. It's also much harder to pull it out by hand unlike the Keyster mains.
- Readjusted float height to 22mm, had it set to 20mm for some reason.
- Completed a static timing.
Even after all that the bike would still hang after letting go of the throttle and I would have to bring it down by adjusting the idle knob.
So what worked? Backing out the air mixture screw by another half a turn out. Yep, literally the last thing I did after everything.

I had set a baseline of 1.5 turns out from fully in as per the Keihin setting chart in the Carb FAQ. So now the screws are now set to 2 turns out. I'm guessing the Keyster air screws are just that different then to the originals that they require slightly higher/lower adjustments to achieve similar settings to stock.
Maybe it's just me but I feel like the engine is much more quieter than when it was hanging, even at 1000-1500 RPM. Knocking is less pronounced and just sounds a lot more smoother. Pardon the commentary in the video, just glad some progress was made.

In case your wondering, the 350 gauge is sticking so that's why I have the 550 gauge sitting on the side.

I will say I'm happy I changed the o-ring on the main jet. I'm much more confident there is a proper seal now.
Best of luck on your bike! Hope it runs better soon, sure can be frustrating...
Chris