you probably want the new blazor web app template. this creates a server webapi project and a client blazor project. for server side blazor, the server project references the blazor client project. at build the blazor client output is copied to the webapi output, to make a single deployment.
just create a template project, then copy the client project to where you want it. then make the simple project and program.cs changes to the webapi project file.
using server blazor will require more resources on your server. each user will have a dedicated signal/r connection to the server. each connection will have a blazor app instance running on the server. also as every registered browser event needs to sent to the server via signal/r it can be very chatty.
while blazor supports file uploads, they are slow and limited in size (as the signal/r connection is used). you get better performance from jsinterop and a webapi endpoint.
note: blazor is architected very similar to classic react, using class objects instances rather than pure functions. the state management is similar to props (only attributed class properties are used instead of an array) and triggering state changed. there is the equivalent mount/unmount events to the render tree.