As Greg said You are doing a great job.
There are always going to be bumps in the road.
It seems to me, that your kid wants to spend more time with you and more time with the fun books. Which is a reasonable thing to want. When you say no they get upset. Again this is a reasonable emotion to have, in a suitation like this.
But here's the thing, emotions are like the fuel that drives our engine, and gets us from A to B. As an adult we have learnt (hopefully!) to steer where we let our emotions take us. This is something that takes practice and your kid hasn't mastered yet. Reasonable given they are only 22 months old!
So imagine sitting in a car and all of a sudden the engine is reving and no one is steering. You freak out, the engine revs even more and you go careening all-over the place. This is the situation your kid is in. A small upset, builds and builds; and they end up hard crying.
They just haven't learnt to steer yet. However the good news is that they are old enough to start to learn! Although perhaps they have learnt a little bit already. That by letting themself get into a hard cry, they find when the dust settles, they are where they wanted to be. With another book, Hazzar!
Oh wait, that's not what you (OP) want though.
Trying to get someone to take the emotional wheel while they are caught in a loop is very hard (Trust me as a parent I know!).
So I suggest you try something like this:
Before you start reading a story, talk through how you don't like how it feels when [your kids name] gets upset, after you say good night. And that "I don't think you like the feeling either, do you?" (You are building rapport, of a shared feeling).
Maybe ask them how it feels (Hint: being able to describe and understand one's own feelings, is valuable life skill as a kid and as an adult. It is also something that takes practice)
Then negotiate a deal. If your kid doesn't demand a another book after lights out, you will read them two books tonight. Ask if they like the idea of that. Once they agreed, tell them that if the break the deal, say that it will make you feel sad and you will not be able to have any stories tomorrow night. (Once you have got through this stage, you can move back to just 1 story/ night).
(Hint: Being able to negotiate it a super important life skill! Start practicing now. Make sure you let them get the better end of the deal sometimes so they are encouraged to practice)
Now this is the really hard part: You have to hold the line and not back down. (Be strong! You can do it!) Be kind and comfort them if they get into a hard cry state. It may take a few goes. (But in my experience not many).
Now just to be clear, I am not saying to try letting your kid cry themself to sleep. Doing that has been shown to be bad for their long term mental health. So comfort them, but don't back down from what you have negotiated with them.
As to why your kid behaves this way with you. You were probably the first one who your kid tried this gambit out on. Bad luck, sorry! Or maybe they tried with grandma and grandma just gave them 'that look' and your kid knew the 'one more book' just wouldn't happen. (Grandma has played this game before!)
Your doing well, keep heart.
Bonus tip: If you can get them to take some deep breaths when they are hard crying, it helps calm them down alot.
The trick I found is to practice when they are not upset. Make it a big game. Pull funny exaggerated faces as you breath in and blow out.