There is no way to give you the path to the stones and say, "do this, this and more and you will have everything you need", I even think it strange that the question has no vote to be closed as too broad or mostly based on opinions .
But finally, I know what it's like to be in such a situation and I'll try to help you in a very succinct way here, as you develop it, specific questions will arise and we'll be able to help you better.
Reinforcing: I'll give you some tips, it's no rule, nothing.
How can I do this?
You think ahead and start doing a REST API. Making the API handle your data model, etc. Then you can use it in any application you are developing, be it desktop, web or mobile.
Develop the site in ASP.NET and then create the app in the on android?
This will depend on your taste, need and other factors. If you are going to follow the idea of creating an API, I find it interesting to develop the API first. But, I say again, this is not the rule.
I found Xamarin, I saw that it could develop into a cross platform, but would not it be limited to development?
Limited in what way? Xamarin is very good, you develop everything in C # and deploy in a (practically) native app. Not counting all the tools that are available like Xamarin Insights and Xamarin Test Cloud . But of course this is paid .
I think reading these questions will help you a lot.
What is REST and RESTful?
Web Service Type Differences: SOAP, REST, XML
WebService REST Simple