Session ID in the first Client Hello, .... That is the "Client or Browser" tells what Session ID to use and "Server" accepts it.
It is not that the client just comes up with a new session id and the server accepts it. The TLS session id and also the TLS session ticket which serves a similar purpose are first send by the server to the client.
If later the client sends the previously received session id or session ticket within a new TLS handshake and the server still has or can derive the information for this existing session, then the session can be resumed and only an abbreviated handshake will be done.
If instead the clients sends a session id or session ticket which the server cannot handle (i.e. invalid, expired...) then it will be ignored by the server and a full TLS handshake will be done.