It is really uncommon. I'm suppose that volumetric reaction is a source term implemented through a UDF. What is it functional form? 1st, 2nd, 3rd order? How many substances are present and which of them are part of the reaction? It seems to me that the reaction UDF term are working through all simulation once you have a closed system.
e.g. A->B in water : the mixture is water +A+B. with Cb= Yb=0 at t=0s
So, the volumetric reaction is a source to B and a sink to A, and water is constant. If the reactions is implemented as source for both, the mass will decrease. e.g, forgotten to change (-) signal for B mass balance. it is very easy to do such kind of mistake. But is an assumption of mine. I advise you to do a check list in your UDF to verify some simple coding errors are present or not.
I don't use FLUENT, but I have seen similar errors in other codes, when the spatial resolution is insufficient. You can try to rerun the simulation with a different resolution and check if you get the same error.
(2) In Fluent, you have to accept a mass error of a few percent if you are using volumetric reactions. You can reduce the mass error by reducing time step size, increasing iterations per time step
If your problem is unsteady, you need to check if the discrete initial condition is compatible with the (ananlytic) continuous initial condition. This mismatch may introduces large mass, momentum and kinetic energy error at the initial stage of the developement.
In other words, the initial condition setup which does not satisfying the discretized Navier-Stokes equation embedded in the CFD code can be a source of such a mismatch.