AFAIK there's no step-by-step guide about creating your own testnet. But depending on your needs, creating your own Signet[1] or running your own Regtest[2] may able to fulfill your needs.
[1] https://en.bitcoin.it/wiki/Signet#Custom_Signet
[2] https://developer.bitcoin.org/examples/testing.html#regtest-mode
It depends on your goal. If you just want a testing network to test some stuff in, then just run bitcoin core with -regtest and you can build a chain from base up and mine many blocks instantly.
If you want to introduce a competing testnet chain that others can use too then you have to already know the answer to this not ask it here (it requires familiarity with the code). But you can start by looking at the PR that introduced v4 and see what that thing changed and get some ideas what you need to change and how, in order to introduce a version 5.
https://github.com/bitcoin/bitcoin/pull/29775
It is basically 3 main things I think:
1. Introduction of a new cchainparams instance that includes the variables for that "chain"
2. list of seed nodes that peers need to use when they want to establish their first connection to the bitcoin network
3. And of course your change to the PoW algo or anything else in the code that would set the v5 apart and is not the exact copy of v3 or v4.
Signet is probably your easiest path if you're just looking for a blockchain to play with yourself on or if decentralization isn't important to you atm.
Testnet 4 is a warzone chain-wise atm. As it should be.
Bitcoin is a the ocean. Bitcoin Testnet is a wave pool. Signet and your own chain is a kitty pool.
Start slow and work your way up... or just fucking bail in the ocean, but it is costly out there with the yachts.