New to solidity wtth a few questions about ERC721 contracts

Hi, I'm new to smart contracts but have about a year of part time web development under my belt. I've done a day or two research so far and it seems like OpenZeppelin is the way to go for a custom contract. Wondering If I could get some help with a few high level questions so I don't start going off track early on.

Scenario:

I want to run two series on one contract, and then probably more series at a later date.

The first series is a photo project and another is Generative.

For the photo project I am thinking of minting all of the tokens to my own address at the same time the contract is deployed. At the time of deployment I won't yet have taken all of the photos. As the photos are taken I will upload to the IPFS baseURI and then list the token for sale on OpenSea etc

The tokens for the generative series will be minted by the buyer on my own minting page. I am using buyer data to influence the generative artwork so, again, the image won't be at the storage location in advance of the token being minted. I would also like to have a different baseURI for each series.

Questions:

  1. Is it possible to edit the baseURI after the smart contract is deployed for when I start a new series?

  2. Is it possible to write into the contract at launch for it to explicitly use one URI for tokens 1-100 (those minted directly to my own address) then another for tokens 101-1100?

  3. Is it possible to upload to IPFS after token mint?

  4. Why does it seem some people store their metadata on IPFS, does the contract look at the IPFS when it mints to find what metadata should be written into the token?

  5. Are there are any other problems with my plan?

Thanks a lot