So we need to move to IKEv2 where these issues are no longer present
The issue is that I’m moving from IKEv1 to IKEv2 to solve this issue too
At first (at the moment of launch, as usual, there was no time
) I used “use_ipsec=yes” and what is wrong with this configuration - IKEv1, PSK and the issue with multiple clients behind the shared NAT.
Then I did a shift to the manual configuration of L2TP over IPSec (IKEv2, certificate authN) and, for some reasons, was thinking the issue will be automagically fixed with IKE2 (don’t even remember where I read about this). But no, the issue is still there. As far as I understand, it is unrelated to IKE version, since it comes from port-less ESP.
best by having a checkmark “use random high-numbered source port instead of 1701” so you would not have to manage the allocation of different source port numbers.
Having random port adds complexity to the implementation. It’s ok when using “use_ipsec=yes” in l2tp client configuration but it’s unclear how to specify port in ipsec policy when doing manual configuration (see above pros and cons).
From my point of view, this change (ability to specify source port) is very simple, since client ports do not have any other dependencies inside the ROS. This is just a client port, which do not need to be referred by other parts of configuration except when “use_ipsec=yes” used and this is the only situation when this port need to be referred by another service.
But anyway, L2TP/IPsec is on the way out. Systems like Android (and I think also IOS) no longer support it “because it is insecure”.
(no idea what that exactly is based on, and if that is one of those “studies” that come up with totally unrealistic scenarios and minor effects)
Among all other approaches, L2TPoIPSec is the most simple in terms of massive scale (server do not require specific configuration per client - both in L2TP and IPSec parts). Also, I like IPSec itself for (a) UDP and (b) compatibility with everything. Having VTI is, of course, could be be a great addition but even without VTI it’s the most compatible encryption framework.
And, not being security engineer, I don’t share the opinion about “insecurity”, because there are two layers of authN - PPP username/password and, which is more important, IPSec certificate- or even PSK-based authN with PFS and TFC padding (latter - if supported
).
The first article you mention shows you how to work around that
To be frank, it’s not a “solution” - it looks like very complex system of crutches and supports because no other ways are available 
Thanks.