In other words, the reason n_ins_since_vacuum was introduced is to freeze (committed) rows, so it should not need to track dead rows to do what it intends to do.
Wouldn't that result in the rather strange behavior that 1 million dead rows might trigger a vacuum due to one threshold, 1 million inserted live rows might trigger a vacuum due to another threshold, while half a million dead plus half a million live fails to meet either threshold and fails to trigger a vacuum? What is the use case for that behavior? Perhaps you have one, but until you make it explicit, it is hard for others to get behind your proposal.