Q:

Firestore read/write vs cloud function read/write

I'm using Firestore I have these questions, regarding how to user behavior will have an impact on app costs:
what's is more cost-effective:

To use a realtime form that saves in the database while the user typing in a web form 
To save all the fields in the form at once using a firebase function

questions:

is it overkill to proxy with cloud functions? (just to avoid costs)
when the user types (realtime updates) is it considered as a new write to the database every time?

A:

what's is more cost-effective:

To use a realtime form that saves in the database while the user typing in a web form

This is going to cost you a write for each time the form is save in realtime.

To save all the fields in the form at once using a firebase function

This is going to cost you a single write.
The difference in cost between the two should be obvious - multiple writes vs. a single write.

questions:
is it overkill to proxy with cloud functions? (just to avoid costs)

If you're proxying for no other reason than to save costs, it's overkill.  The function invocation will cost you money, in addition to the document write, which will cost the same no matter where it originates.

when the user types (realtime updates) is it considered as a new write to the database every time?

As I said before, yes, it is.
The only real reason to send form submissions through a function is the ability to do deep, secure checking for validity of the form fields.   Client side checks are not secure.   You could use security rules to perform checks, but those are limited.  If you need to make sure the form fields have stricly checked values, a Cloud Function might be your best choice.  But it's not possible to tell given the information in your question.

