Currently I'm using Linksys EA6900 with latest FreshTomato. Tomato is great, but its based on a bit antique kernel 2.6. So I'm testing alternative solutions on spare routers that I have.
On Netgear WNDR4500v1 I installed DD-WRT with kernel 3.10, and on HomeHub5 I installed OpenWRT 19.07.
DD-WRT is not the topic here, so I won't complain about the mess in options there, poor intuitiveness of the Web UI etc.
But, as I spent whole last weekend installing and configuring OpenWRT on the Home Hub 5, I feel that time was simply wasted.
I have no time to write about every problem that I meet in LuCI WebUI, but there is some:
QOS - In Tomato I have default 10 profiles of network traffic type. I can set guaranteed bandwidth for each type. In OpenWRT I didn't find anything like that. Default QOS settings are rather simple. And bandwidth seems to be possible to set just globally for WAN. In general - QOS in OpenWRT seems to be very simple and looks it has much less options than Tomato.
Scripts - that's second big difference. In Tomato I have fields to run additional commands for almost every event: USB mount, dismount, WAN restart, connect, disconnect, boot etc. Plus additionally crontab. All in web interface. In LuCI I found only startup, and crontab. But If I wish to run the command on WAN restart, or Firewall reload - It can't be set.
WebServer with PHP and MySQL - In tomato I just tick option and have fullfeatured Ngnix + PHP7.2 + mysql that basically works. In OpenWRT I know that I can install uhttpd module and it can be managed by LuCI. There is also MariaDB and PHP packages possible to install, but they seems to be not linked to uhttpd at all - no any luci module for them at all.
I would list more, but have no time for that, and these are most annoying me - with better QOS, better Scripts and Web server I would be happy.
In this moment, I want to say that I'm not afraid to use console. I have almost 20 years of linux experience, so I remember times when it was impossible to even install linux without knowledge of console commands. For me it is just question of time. WebUI if is well-organised can really save time. Reading documentation, managing files and options in console to set up QOS or web server while it could be as simple as in Tomato seems to be big waste of time.
So my answer for question: Can OpenWRT substitute FreshTomato? is NO.
If you wan't, you may try change my mind showing me that I'm wrong.