Note that I’ve only run Appium against the iOS simulators, so I cannot speak to Android. But I solved my Webview scrolling issues.
Basically while in the Native context, Appium will automatically scrollTo elements when you attempt to click on them. But you’ll still need to manually scrollTo them if you simply want to bring them into view for other reasons. Webview will function the same, however you need to specifically switch to the Webview context first (this was the missing key for me), and then remember to interact with the Webview elements using Selenium/HTML attributes. Then remember to switch back to the Native context before interacting with the native portions of your app.
You can read more details in this thread: Mobile: scrollTo fails in iOS hybrid webview