You’re right in that JS is case sensitive, but wrong that it’s a typo as it doesn’t have to be Twitch.
The helper is window.Twitch, but you can just as easily do const twitch = window.Twitch which is what many sample extensions do, hence the lowercase t and lack of window.
As for the errors you’re getting with isBitsEnabled being false when it should be true I can’t help with, but really if isBitsEnabled is returning false then you shouldn’t be attempting to call getProducts or useBits anyway.