There are two types of RAM costs: 1. to hold the code of the smart contract itself 2. the state of the contract which is stored in tables (like database tables)
For 1. you have to pay RAM yourself or find someone who is willing to invest in your project and buys RAM for you. It cannot be delegated.
For 2. you can make the users of your app pay for this type of RAM usage. All interactions with the smart contract are through user initiated actions, at which point you can use the user’s RAM instead of your account’s RAM.
I’m not sure what you mean with “ allow the Dapp to float on the front end or test net and only hit the main net once the payer submits resources?”.
If you want your app to be usable on the main net, you have to deploy to the main net and you have to buy RAM there.