I wouldn't choose this tack, because I'm not sure the negative-going signal would be within the range of allowable input signals on your microcontroller.  Note that for the [STM32f405][1] the absolute minimum input for a 5V tolerant pin is \$V_{SS} -0.3\$.

The way this is done is to offset the input signal to be  midrange for zero input, attenuating if necessary.

Note in your circuit, the inverting gain is -1 and the noninverting gain is +2.

I see your need for accuracy, but suggest that if you can't handle a factor of two that attenuation would give you, you should be looking at your signal chain, perhaps considering a higher bit A2D.


  [1]: https://www.st.com/resource/en/datasheet/stm32f405rg.pdf