Interesting. I wouldn't have thought that was possible.
But I found this:
It looks pretty straightforward. Basically, you set your UART to 115200bps, and then sending 0xFF sends a single low "start bit" that meets the timing requirements for the sending a "1" bit to the sensor, and sending 0x00 sends a long enough low period to match the timing for a zero bit. The 0xFF 1bit start bit is also sufficient "frame pulse" to cause the 18b20 to send data bits when it is being read.
So basically, the code sends one byte for each bit it has to transmit, and then one byte for each byte it wants to read (after sending a command that will cause the sensor to generate data.)
The example in the video uses ST HAL DMA UART functions, which seems a little extreme to me, so it's not very "bare metal." I'm not really convinced that it's simpler than bit-banging, unless you have other things going on (like an RTOS) that might interfere with the timing...