If you want to buy new (or can find one used): framework, no contest
Used, just see what's available around you on offerup/craigslist/fb market/etc then google that laptop and linux, or see if you can find an archwiki page for that model. This is what i did a while ago, i found a used thinkpad t14s for a good price, checked the archwiki page for it ( https://wiki.archlinux.org/title/Lenovo_Thinkpad_T14s_(AMD)_Gen_1 ) and everything i cared about was marked as working, and it's worked well for me