Hi @ybu,
If you choose to stay with ArduSub and MAVLink:
Ardupilot supports Linux boards, like the Navio2.
You could host a web GCS on the pi itself. Check out MAVControl and MGroundStation for examples.
MGroundStation has basic MavLink communication and basic joystick support in a PR. It lacks video support, which needs some WebRTC investigation to get working properly.