What is the optimal strategy for filtering a large collection of items with multiple filter functions?
Independent filters

If the filters are independent, a greedy algorithm can be used to find the optimal order.  Sort the filters by increasing value of $t/p$, where $t$ is the time to run the filter and $p$ is the fraction of items that are filtered out by the filter.  This gives the optimal order.

To give some intuition for why this might be a plausible answer: ideally, we'd prefer filters that take less time; and ideally, we'd prefer filters that filter out a higher fraction of items.  Intuitively, you can see how $t/p$ somehow incorporates both of those.

A formal proof of optimality involves an exchange argument.  I won't detail the proof here, as it can be derived easily using standard techniques.  For a detailed writeup of the proof, see Determine what is the best order for running filters on a dataset.



Correlated filters

If there can be correlations between the filters (i.e., they are not independent), the optimal order cannot be determined from the information provided without knowledge of the correlations.

Here's an example, based on making a small modification to your example.  Suppose we have two filters, filter A and filter B.  Suppose filter A runs in 4.5ms and filters out 50% on average; filter B runs in 1ms and filters out 25% on average.  Also suppose that anything filtered out by filter B is also filtered out by filter A.  Then the optimal order is to just do filter A.  Your formulas give A,B: $4.5+0.5 \times 1 = 5.0$ and B,A: $1 + 0.75 \times 4.5 = 4.375$, so your formulas might make B,A look like the best choice -- but in fact just doing A alone is even better.



Unfortunately, in practice I would expect that filters might often be correlated.  To deal with this, you'd need to know some information about the correlation structure.  If you don't have any information on the correlation structure, one possible approach is to use the greedy strategy, recognizing that it might not be optimal for your particular situation.  Another possible approach is to gather data on the correlation structure and then use that additional information to try to find a better order, though this may not admit as clean of an answer.