Root commands on terminal emulator not working system-wide
My case, I suppose it's the same reason for you.

Go to your Superuser manager app, I suppose it's SuperSU.

Go to settings, and look for 'Mount Namespace Separation' and check if it's ticked. Uncheck the option and reboot.

SuperSU provided this option to make your system safer by hiding one app's mount namespace from others', thus if you mount or unmount something, it's only visible to the app (UID) you're using and nothing else.

Alternatively, when running su, you can add an option -m to make your shell have the control of master mount namespace. Then your mounts will work globally.