Setting the CAKE bandwidth to 0Mbit/s for download will effectively disable it for download. Setting 5Mbit/s for upload will handle your upload-related bufferbloat, but your download-related bufferbloat will not be addressed. To deal with your varying download link capacity, you would need to dynamically adjust the CAKE bandwidth.
As a first option, you could use my script here:
Eliminate the excess latency and jitter terrorizing your 4G, 5G, LTE, Starlink or other variable rate connection! - lynxthecat/cake-autorate
github.com
This has been tested by a fair number of OpenWrt users now with different types of connections such as LTE, Starlink and DOCSIS, and it generally works well.
I am pretty sure it could be made to work in Asus Merlin. It is just a bash script that uses 'iputils-ping' and makes appropriate 'tc qdisc change' calls.
@dave14305 am I right that this script would pretty much work as is in Asus Merlin? Are 'bash' and 'iputils-ping' available?
As a second option, if if your download bandwidth is stable at the 100Mbit/s and at 25Mbit/s settings according to your plan, then you could rather more simply just set up cron jobs to set the appropriate bandwidths at the appropriate times, i.e. drop down to 25Mbit/s between 19:00 to 00:00 and otherwise set it back up to 100Mbit/s outside these hours.
The second option would be optimal if indeed the bandwidth is stable at these two levels - automatic adjustment of bandwidth based on RTT measurements necessarily requires letting through some bufferbloat as part of tracking the varying line capacity (albeit happily for many including myself this is sufficiently minor that it does not interfere with videoconferencing).