You can't factory reset a phone and keep applications. This is by design.
my interest is to keep applications and only wipe existing user data
Apps are tied to a user, not a device.
Actually, the reason is because of Google's Terms of Service:
https://play.google.com/intl/en-us_us/about/play-terms.html
When you download an application from Google Play, you are agreeing to the ToS. Setting up a new user with pre-installed applications breaks the agreement between Google and the end-user, since agreement happens at install time.
This is also why multi-account devices also do not share applications - each user is required to "agree" to fair use of each app.
Additionally, using the App Licensing service, developers can block use of apps that haven't been licensed to the current user properly.
Finally, Google has been urging app developers to include EULA within their apps thus corroborating the above.
All that being said, if you had root permissions, you could make any apps system level apps and theoretically circumvent this issue - but I wouldn't recommend nor endorse it.