The name of this parameter recently changed to
COM_OBS_AVOID. I'll get to updating the documentation.
And yes, the parameter needs to be set to 1, and you need a connection to a companion computer to avoid obstacles. This does work in mission mode if it's set up properly.
Yes, you can also make your own avoidance algorithm. This would be easiest in ROS, running mavros. You need to subscribe to
/mavros/trajectory/desired and publish a (potentially adjusted) setpoint on