Hi colin, welcome to Open Zeppelin.
I would track this in metadata, or use Events.
You can also tell when something was minted by a transaction. If you have a front end keeping up with transactions that happen can achieve what you want.
Personally I think the best practice would be to put the creator (minter) of the NFT into the metadata of the NFT. When it changes hands, update the metadata by added the new owner. You could track historical ownership this way as well.
Second best would be to make a function to keep up with this in your NFT contract. Then anyone can call it to see who the original creator of an NFT is.
You may want to ask the experts over at Open Sea what they think would be the best way to do this.