I'm not sure you can compare either of those really directly, supabase has their "monthly active users" abstraction and firebase is nosql.
D1's pricing is more against other SQlite providers like Turso: https://turso.tech/pricing, which you'll find their pricing suspiciously familiar.
For example vs Firebase
Firebase (w/ documents logic and not rows):
$0.18 GiB/month
0.6 US$/per mil reads (docs)
1.8 US$/per mil writes (docs)
D1:
$0.75 GB-mo
0.001 US$/per mil reads (rows)
1.00 US$/per million writes (rows)
Barring in mind the big difference between rows read in a sql db and documents read in a nosql db, Firebase is $600 per billion documents read, and D1 is $1 per billion rows read. Indexes do add at least one row written on every row update, but of course could potentially way offset the read.
Taking away "D1 charges more for storage so I should use less/throw big blobs into R2/object storage" isn't a bad take away though. Worth mentioning D1 is 10 GB max per Database, so certainly way more limited