"Cannot connect to host/Reconnecting to peer" while validating transations

I’m receiving errors in my debug log that suggest I’m not connected to the network, although I am validating transactions. My ports are open using portchecker.co. It looks like I’m getting disconnected, but then am able to reconnect, but I’m not sure that’s really what’s happening. Some lines from the debug:

INFO Added unfinished_block 32xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd, not farmed by us, SP: 19 farmer response time: 7.131078004837036, Pool pk xch1jp6frj3ecddur7dxak3n7lq0j75ltquh2zyd44epdu0d6704y2hqyky5hf, validation time: 0.09412074089050293, cost: 360980326, percent full: 3.282%

INFO Finished signage point 20/64: CC: 6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe RC: exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4

INFO add_spendbundle took 0.0 seconds, cost 32364763 (0.294%)

INFO Size of mempool: 6 spends, cost: 136044538 minimum fee to get in: 0

INFO Updated wallet peak to height 66xxx0, weight 68xxxxx56,

INFO Cannot connect to host ssl:<ssl.SSLContext object at 0x000xxxxxxxxxC0> [The semaphore timeout period has expired]

INFO Reconnecting to peer {'host': '', 'port': 8447}

There are no instances of “partials” in this log.

What is missing or broken here? I am running my port forwarding through a dedicated IP on a VPN, and then through my CGNAT ISP.