Reconnecting PPPoE connection automatically

I have had a problem with pppoe connections for a couple of years, probably somewhere in 17.x versions or later my dsl pppoe connection fails to automatically reconnect if the connection is dropped for any reason (such as when it's dropped by isp, manually disconnecting via luci or issuing ifdown command), it won't come back up automatically. Clicking the restart button in luci also doesn't work. issuing ifup command won't help either.
I believe I've read somewhere in the bug tracker a year or two ago that it was related to pppd process not starting after it's killed/crashed for some reason, but I can't find it right now.

Anyway, since then I have found 2 workarounds to reconnect the connection when it's dropped.

  1. changing some setting related to the connection (such as mtu, lcp echo interval etc.) and clicking save & apply
  2. restarting the networking service
    The first one required manual intervention and was a bit harder to automate, so I implemented a simple script that checks the pidof pppd every 30 seconds and restarts the networking service if pppd is down. This solution used to work fine up until recently before I upgraded to 21.02, now due to the changes in the new version, restarting the networking service means all ethernet and wifi connections have to go down before going back up, which makes for some confusion in connected clients.

Now I'm hoping there is a simpler way to bring pppoe connection back up after it goes down, besides changing it's settings (using up flash write cycles) or restarting the whole networking service. Can anyone help? Please tell me if there is any additional information or logs that might prove helpful.
My device is Linksys wrt1200ac, but I recall having this issue with my old tp-link wr740n or something close to that model.

Thanks in advance