If you have the experience you mention, you should be able to pick up the SDK or the image builder (both come containerized to simplify things), figure out how to build a firmware, a package, and then go from there, customizing things to your needs. All of these things are documented in the Wiki. If you have specific questions later on, you can ask in this forum.
The driver part is a bit broader as it might swing from writing a kernel module, DTS, to just writing some glue script to toggle some pins from userland, or talking to a device over serial (e.g. a modem). Which is to say, it's out of scope of OpenWrt, and more towards Linux in general.