The problem is Uniswap's subgraph indexing on Sepolia is unreliable. After adding liquidity, some pools get discovered by their API immediately, others take hours or sometimes never get indexed properly. This causes:
Gray "Review" button - exactly like you shown on screenshots
Price calculation failures
It's entirely on Uniswap's infrastructure. The subgraph either picks up your pool or it doesn't, and there's no pattern I could identify for why some work and others don't.
Your contract is fine. The liquidity is there. It's just their indexing service being spotty on testnets.
I ended up having to wait it out or use direct contract calls when testing. Some of my pools eventually appeared after 6+ hours, others never did despite being perfectly valid pairs visible on Etherscan.