I can see that you've modified the /ppp profile row named default so it now contains a fixed value for local-address and a pool for remote-address. What I can not see, because you've only published the part of configuration which you assume to contain the issue, is any row in /ppp profile without local-address set, nor the /interface pppoe-client configuration.
The thing is that all PPP-based interfaces refer to some row in /ppp profile, and all of them use the row named default or default-encryption by default unless you set something else manually. So by modifying the /ppp profile named default to suit the use for /ppp secret rows, you force your idea of local and remote IP address to be used for the tunnel also to the PPPoE server, and the bad luck is that the IPCP negotiation somehow successfully overrides this under some specific circumstances although it never should, so the misconfiguration is hard to spot. Whether and how is disabling the L2TP server related to that success is unclear to me.
So to avoid the need to assign a dedicated row in /ppp profile to every row in /ppp secret, I would suggest that you add another /ppp profile row dedicated for use with the /interface pppoe-client, which will not restrict local-address and remote-address, and make the /interface pppoe-client refer to it:
/ppp profile add name=pppoe-client change-tcp-mss=yes
/interface pppoe-client set [find] profile=pppoe-client
Instead of writing novels, post /export hide-sensitive. Use find&replace in your favourite text editor to systematically replace all occurrences of each public IP address potentially identifying you by a distinctive pattern such as my.public.ip.1.