Did you ever figure this out? I'm trying to do the same thing and not having luck.
I start the appium server with no params (since it sounds like allowing reset is allowed by default), and then tried adding self.driver.execute_script("mobile: reset") to the teardown. I see the command is received in the appium server log:
debug: Request received with params: {"script":"mobile: reset","args":[]}
but it doesn't actually reset mobile. The next test starts the app with the old app data.
Thank you!