When it comes to onboarding, I would look at a progressive way of registering users.
For example, when you first enter the app, let the user try it out before asking any questions. Let them get familiar with it and what it does.
When the user has done one or two things, then ask if they would like to register. One time password? Sure, but I think you can gain more by adding a sign in via social channels like Twitter and Facebook.
Also, don't forget to setup a tracking system for everything that happens during the onboarding. When you later look at the data and conversion rate, you would hopefully be able to spot where you have done good and where you can improve. Maybe do an A/B or have the option to choose OTP or social when logging in?
I think this question depends on what you are building and different solutions work for different products. But it is onboarding you want to read more about.
If you need users to authenticate in your app you should always remember, that nowadays people have to remember a lot of passwords. So reusing an existing account would be helpful in terms of UX. The technical answer would be for example OpenConnect, by which you can use credentials from Google, Yahoo,... to login into your app. Like it is done here on stackexchange.
I think answer to your question really depends on (1) how concerned your users are about their data (2) and/or your concern about any unfavorable consequences to your business by using OTP.
Even if you choose not to use OTP, there are ways to make it easier for users to login - pin, finger print, etc.