Passing it on to the users wouldn't have required billing by API key, just gate at authentication instead.
Rate-limit unauthenticated requests per API key and authenticated requests per account. Problem solved. Turn $0.12/month users into $5.99/month users, and don't worry that the 3rd-party apps aren't showing ads - because Premium users don't get ads anyway.