But since OP asked for a step by step, here we go with the Rpi4 <$(community_build) by wulfy23, as i did:
Go to https://github.com/wulfy23/rpi4/tree/master/builds/
Select the folder rpi-4_snapshot_1.9.15-29_r14315 (at the time of writting i find it ok for my use case, i don't recommend to for the folder marked "testing", unless you really want to test bleeding edge fixes and bugs) and donload the file containing "fac" on its name (e.g.: rpi-4_snapshot_1.9.15-29_r14315/rpi4.64-snapshot-23290-1.9.15-29-r14315-ext4-fac.img.gz). That's what i downloaded.
I am on windows, and once downloaded, uncompress and extract the *.img file inside. Using Win32DiskImager (google for it, is in sourceforge) flash a microsd card with the image file, (Important!!! if is an used SD, you'll need to wipe it, google for utilities that do that).
Once prepared, put in the RPI.
Now, i will assume that you will use the PI for internet routing. And for that, you'll likely going to need a USB to ethernet dongle. You'll need to know in advance what kmod-usb-net-*** file you will need in advance. This build comes with some included,AFAIK. It detected automatically my TRIP-LITE u336-000-r , but depending on the adapter you buy, this may vary (And some aren't supported at all, do your research before buy!). Plug the dongle before turning on the unit, and connect an ethernet cable from the built-in ethernet port if the pi to your machine, and turn it on. Wait a few minutes and fire a browser to 192.168.1.1. If everything is done correctly you'll have a login screen, just login and change the password for the router.
Go to the "network" tab and select "interfaces", you'll notice there's no WAN port. You'll need to add it manually, otherwise you wouldn't be able to connect the unit. Click on "ADD NEW INTERFACE" and name it "wan" (LOWERCASE!!! Do NOT put another name here, OpenWRT have everything defined assuming the internet interface is "wan") and in the protocol, select the protocol you'll going to use. Whichever you choose here, it will appear some values you need to assign depending on what you have as internet connection. What is important here is the "INTERFACE" that should appear in most cases: here you'll need to select the interface corresponding with the dongle, which in my case happens to be "eth1". Click on "Create interface" then click on "Save & Apply" and reboot.
If all was done correctly, then the pi is ready to use as a router. If you want to use the WIFI, the steps are the same, just add the interface and select the Wireless network interface. Since i don't use it, i can't tell if works ok or not.
The rest is up to you.
EDIT: I forgot, depending if your ISP offers IPV6 or not, maybe you'll going to need to disable it. My isp doesn't support IPV6, and OpenWRT will give you DNS errors in this case: Devs assumed everyone has IPV6 at this point, so when the router offers an IPV6 DNS server to your clients, supported or not, and it will offer an IPV6 ip first to aggravate things (i think is a bug, but for some reason devs don't agree). If you can't connect to the internet with the router configured, disable IPV6 in the LAN settings. It's in the "interfaces" -> LAN, then press "EDIT", select "DHCP Server" and disable the "DHCPv6-Service". Reboot your router and you're good to go. Another common problem is that some ISP's require a Specific mac address to allow you to connect. Google is your friend, because depends on what equipment you have in this case.