1) Yes, the reason is cause supertokens core doesn't expose the APIs that the frontend can call - those APIs are exposed via our backend SDK which integrates with your backend (in this cause the python server you mentioned). This makes it possible for us to handle session related operations and also makes it easy for you to customise auth logic on the backend.
2) Yes. We use postgres for our SaaS. So we can provide you a backup of that which you can restore in your own self hosted instance. The code on the backend and frontend should be unaffected by this (other than the connection URI in the backend)