Can I use pre_get_posts to add up values from two different meta_keys?

The way you are trying to do it is probably the wrong way.

WP_Query does not have any build in feature to subtract the values from two custom fields and then returning (or ordering) posts according to the value of the subtraction from the two fields. You can probably filter the generated SQL via the posts_clauses filter or the relevant single clauses filters to intoduce a feature like the one you want to.

I will probably not go down that route as complex SQL queries, like the one you need, can become quite expensive and very slow to execute, specially as your db grow. You might want to look at writing a once-off script which will take all posts, calculate the difference between the two custom fields and saving that difference in another (maybe hidden) custom field. As I said, this will be a once of script which you will remove once once done.

It is then just a matter of writing another script which automatically update this third custom field with the difference of the other two when either of the other two custom fields is updated. For this you can look at actions like updated_post_meta (see this answer).

It will then be as easy to query (or order) your posts by this third custom field without any extra filter, actions or other operations