How does Redux actually communicate with the DB?

I’m not sure I understand. We agree that the redux state and the DB are completely different things?

How does state change get reflected into the database?

Your client app calls your server and the server tells the DB server to make the changes requested.

Does the state actually get updated INSIDE the database and THEN back to the store?

That depends on you. Is the data you want updated in the client just the same data (or is derived from) that you are sending to the server? You can have optimistic updating of the data - you assume that your call will succeed and just use the copy of the data you have to update your client’s redux state. Sometimes that makes sense. Sometimes you want to make sure the DB update worked or need some info from the response from that so you wait until that gets sent back.

Both of those work, depending on your needs. But in both cases, you are updating the client’s redux state. There may be libraries that allow the redux state to be automatically updated, but not in vanilla redux and I don’t remember that being a thing in thunk.