I have a withdrawal of 3 sats that with fee shows 4.001 sats. No problem there.

But the wallet balance only shows a whole number, and was reduced by 5 sats after this transaction.

I'm just curious, did this 4.001 spend take 5 sats from my balance, or does my balance still include the 0.999 sats, but the balance just doesn't display it (i.e., truncates any decimal amounts)?

It truncates it. Internally your balance is in millisats