How to mount sdext2 partition by Apps2SD script, before system mount?
I recently stumbled upon a Magisk module called fbind to fix the issue of small internal memory. The module mounts mmcblk1p2 to extsd before Android gets the chance to mount it.

I have been using this module for a couple of days now and it is working perfectly for me. I still occasionally get the soft reboot error but it doesn't do any harm, you always can disable the soft reboot error message from the settings.