I doubt that we are going to be able to offer much help.
Audacity interfaces with the computer sound system via PortAudio (http://www.portaudio.com/). Audacity handles audio data internally as 32-bit float. In most cases this means that there will be no rounding of data values that Audacity receives from PortAudio, though there would of course be rounding if Audacity received data in a very high bit format such as 32 or 64 bit integer.
I don’t know what happens between PortAudio and the physical hardware. That’s not really Audacity code, and I just look at it as a black box. I do know that I can feed a sample stream into Audacity and Audacity records the data bit-perfect, which indicates that there is no rounding on Audacity’s side of the PortAudio API when recording as 32-bit float.
I don’t know where to go with this from here as I don’t have the hardware to even start debugging the problem. Unless you are able to probe what’s happening inside PortAudio (debug the I/O library), then you may need to stick with Reaper for capture. If you want to use a smaller / lighter program for audio capture, you could try https://www.wavosaur.com/