Oh god. Yeah, you were in JPress pricing territory so I was really surprised you had that experience, those clothes should have been tanks. I had no idea lululemon was that expensive, I’ve never shopped there because I thought it was fast fashion and associated it with athleisure.
Find your sizing in a few not-even-that-good but ok brands that sell enough for used stuff to be pretty common (not JPress, they’re too low-volume—brooks brothers, jcrew, that kind of thing) by shopping at thrift stores. Those brands (right now—both are slowly getting worse) have more consistent sizing than most, so the super power you just unlocked is buying their clothes used on eBay/Poshmark/et c., and shopping their sales online (these brands are down-market enough that they do have meaningful sales sometimes)
Note that these sorts of places don’t just size shirts S/M/L, but also have fit modifiers like “slim” (only slightly fat) and “trim” (not fat—these are jcrew) or, for brooks brothers, names like “regent” or “Milano” that you’ll need a chart to translate (but then you just remember the one or two that fit you well and forget about the rest). Also, in shirts sized by collar, get it right so you can button that without discomfort or a too-large gap, and know that you may need to get the sleeves tailored if you intend to wear it with jackets—this is a fairly easy adjustment, a cheap local tailor can do it, 99% chance it’ll be an Asian woman, if it’s a guy you’re almost certainly somewhere too pricey for that alteration.
Don’t shop “outlets”, they’re mostly not discounted clothes, but worse clothes made for the outlets.
You can do something similar with nice (leather) shoe brands by getting cheap beat-up ones on eBay to dial in your sizing (if you don’t have a store close by—if you do, you try on shoes representing multiple lasts, buy one new pair if you feel bad about wasting the clerks’ time, then buy zero more new pairs from them again), then buy seconds (slightly defective, barely noticeable from good brands) and nicer ebayed pairs.
[edit] oh and measure yourself. Neck, chest, natural waist, high hip, low hip (if something only has one hip measurement, they mean low). If buying jackets, measure the jackets on a crappy one you thrifted that fits well. There are guides for this.
It seems like a lot of work up front, but it unlocks lazy fashion forever. I have great luck blind-buying used and even new pieces from good brands I haven’t tried on, based on measurements (anywhere remotely worth buying from will provide measurements). I almost never shop in person these days unless it’s a thrift store.