In my rather simple-minded comment above I suggested the 'MINUS' function for a range A1:A10 would just be
A1-sum(A2:A10)
Another way of doing it would be
2*A1-sum(a1:a10)
Applying this second formula to your filtered data gives:
=2*array_constrain(filter(D:D,left(B:B)<>" ",D:D<>""),1,1)-ARRAYFORMULA(sumif(left(B:B,1),"<> ",D:D))
In other words, find the first row with data in it, multiply by two and subtract the sum of all the data.

In Google Sheets, what is the array formula to provide a subtraction result only if both input cells are not blank?
google sheets - How do we use MINUS with array - Stack Overflow
Using ARRAYFORMULA and need to subtract cells within the same column
google sheets - GoogleSheet, Hot to subtract an array, each cell with the last one? - Stack Overflow
Does Coefficient work with both Google Sheets and Excel?
What is Coefficient's AI Sheets Assistant?
What is Coefficient?
I am using the formula "=ARRAYFORMULA(L2:L-K2:K)" to give the differences in column M.
For any particular row, I want the operation performed in column M only if the input cells in columns K and L both have values; if either or both cells are blank, I want the result cell in column M to remain blank.
What is the correct formula?
In my rather simple-minded comment above I suggested the 'MINUS' function for a range A1:A10 would just be
A1-sum(A2:A10)
Another way of doing it would be
2*A1-sum(a1:a10)
Applying this second formula to your filtered data gives:
=2*array_constrain(filter(D:D,left(B:B)<>" ",D:D<>""),1,1)-ARRAYFORMULA(sumif(left(B:B,1),"<> ",D:D))
In other words, find the first row with data in it, multiply by two and subtract the sum of all the data.

use minus operator instead of function like:
=ARRAYFORMULA(A1:A10 - B1:B10)
or you can use QUERY like:
=QUERY(A1:B10, "select A - B")
=QUERY({A1:B10}, "select Col1 - Col2")
I created a Google Form we can use to track our utility meter readings. I want to find out the total daily consumption which would subtract the newest submission from the previous submission and then multiply it by the meter multiplier (VLOOKUP). I am using the ARRAYFORMULA so it copies down with new submissions, but it doesn't seem to be changing the subtraction cells in the copy down. How can I get this to work properly?
=ARRAYFORMULA(If(ROW(B:B)=1,"Total Consumption",VLookup(B$1,'Metered Usage'!A1:B24,2,0)*(B3-B2)))
https://imgur.com/a/w30gWBU
try:
=ARRAYFORMULA(IF(A3:A="",,TEXT(A3:A1000-A2:A999, "[h]:mm:ss")))

Here is another approach, doing the same.
=ARRAYFORMULA({"ELAPSED ";0;
OFFSET($A$2,1,0,COUNT(A:A)-1)-OFFSET($A$2,0,0,COUNT(A:A)-1)})
This uses the the count of values up to the current row to calculate the appropriate offset from the first time, in A2, giving the two time values that are relevant for the current row. Then one is subtracted from the other, to give the time delta.

Short answer
Add the following formula to A3
=ArrayFormula(
A2
-
MMULT(
N(ROW(B2:B5)>=TRANSPOSE(ROW(B2:B5)))
*
Transpose(B2:B5),
SIGN(ROW(B2:B5))
)
)
Explanation
To the initial value, A2, subtract the cumulative sum down column, also called running total. One way to do this with array formulas is using MMULT. The construct shown here of the cumulative sum down column was taken from the reference.
References
MMULT Usage by Adam Lusk
You can't use arrayformula. You need to use INDIRECT function. See: Google Sheets example