There is a hidden gem in the github bug report that has a workaround for lirc not being able to send AND receive.  You can revert back to a previous kernel (4.14.y), but still be running the newer Bullseye OS.  

https://github.com/raspberrypi/linux/issues/2993#issuecomment-497420593  

This solved the lirc problem and I was able to continue to use the new OS with new python version needed for another project.  **There may be a compromise** that I am unaware of, but for my use case it was a win-win.  

To downgrade your kernel to 4.14.y run:

     sudo rpi-update c30ae2bb624f7fd60fcbedff950cc4361c8d2aec

In /boot/config.txt you'll need to use the old Stretch format overlay (with your pin assignments), ie:

    dtoverlay=lirc-rpi,gpio_in_pin=17,gpio_out_pin=22

and in /etc/lirc_options.conf the device line is:

    ...
    device = /dev/lirc0
    ...