Google Cloud is this way: stay below their free usage limits for some services and you'll never need to pay; but you need to give them your card up-front because it's a post-paid service and they need to ensure they can charge you if-and-when you do go over those limits.
Or, for another approach: how about a plan that's free, but where there's a small one-time fee on signup, regardless of the plan you choose? (You can be upfront to your users and tell them it's a KYC measure, if you like.)
Or, how about a free service, but gated with a real KYC/AML process on signup (of the "sign in through your bank" or "upload your driver's license to this third party" variety.)
Any of these approaches, IMHO, would filter out the 4% of spammers; and also act as a barrier to anyone who isn't serious about eventually trying the service — while not being as much of a barrier to people like the GP poster, who take five months to get around to testing a service before becoming a diehard fan of it, and don't want to be paying for those five months, but also look in apprehension at the idea of possibly having to spend time trying to get their (as-yet-unused) trial extended.