It “may” be half speed.
I’ve seen it happen both ways on different computers 
Although Microsoft’s documentation says that WASAPI exclusive mode is low latency and bypasses mixing, I’ve not found any documentation that guarantees that setting a device to a specified sample rate guarantees that it will actually deliver an audio stream at that sample rate, even when an application requests a different sample rate.
Audacity can certainly do resampling on the fly during playback. I’m not 100% certain, but I’m pretty sure that Audacity does not / can’t do resampling on the fly during recording. Other than digging through some very complex code, I don’t know how to prove this, hence not being 100% certain. There is however another possible explanation:
When Audacity starts recording, it request an audio stream from the computer’s sound system, and the request includes the required sample rate. For example: “Give me 2 audio channels at 48000 samples per second”. Audacity does not care about the sample format (bits per sample) as it will automatically convert that on the fly (lossless when Audacity is set at the default 32-bit float).
Audacity is expecting the sound system to deliver the specified number of audio streams at the requested rate.
What I think is happening on your system (and some other, but not all computers), is that the Windows sound system gets the request: “2 channels at 48 kHz”, and responds with: “OK, switching (temporarily) to 48 kHz”. This makes sense for Exclusive mode as Exclusive mode guarantees that there will be no conflict with other applications requiring a different sample rate. I think this is what “should” happen with well behaved hardware and drivers.
I think what happens in some other systems, is that the hardware or drivers fail to honour the request / are unable to switch to the requested rate - this then produces a recording at the wrong speed.
I believe that in this case, Audacity will record without any resampling.
This is difficult to prove. You need a repeatable way to produce a stream of audio samples, where the stream is exactly the same each time. Playing a WAV file “should” do that, providing that the audio player is bit perfect (you could try “foobar 2000” and ensure that the “WASAPI output support” module is installed (I think this may still be an optional download, so check the docs: foobar2000:Components/WASAPI output support (foo_out_wasapi) - Hydrogenaudio Knowledgebase).
Assuming that you can get Audacity to record from foobar 2000, playing a WAV file, with WASAPI exclusive mode, where the sample rates match throughout (including the sample rate of the file), then you should be able to make multiple recordings of the same file, and each copy will be bit-for-bit identical with the original file.
Checking that two tracks are bit-for-bit identical is quite easy in Audacity. You need to line up the two tracks exactly, then invert one track, then mix the two tracks. If they are bit identical, then the result will be absolute silence. I’m guessing that you know how to do this, but ask if you need more detail.