It should work automatically this way. If the new date is outside of the currently visible range it will switch to the target month.
Maybe this is an edge case - would you be able to create an example that reproduces the issue? It can be a simple config with the visible dates + the new date.
And a note: I'm not sure if this is intentional but your example uses addDays(1). Normally you'd use something like this to switch to the next month:
nav.select(nav.selectionDay.addDays(7));
The selectionDay property holds the last selected day (clicked or selected using select() method):
https://api.daypilot.org/daypilot-navigator-selectionday/