Dropping peers like you described is rather not normal. The protocol will drop some peers from time to time (when it has enough of them for whatever reason), but it will try to get new peers to replace them. So, this would indicate that for whatever reason peers cannot contact your node (8444 port problems).
There are two default values in config for the number of peers. The total (in/out-bound) that is set to 80 and outbound that is 8 or so. If for some reason peers cannot access your node (router port is not open, UPnP disabled), then your node will be happy with that 8 value.
If you sync from scratch (the fastest sync your node can handle) and you a have really strong node, your download rate will be around 1Mbps / 125KBps or so max. This means that your node can actually piggyback to just one peer and be happy with it and that peer will not feel the difference (although, having just one peer is not good for the network, and for your node, as that node can go sour on your node at any time and it will take some time to get a new one - although, this setup is good for a master/slave home setup).
So, to some extent, having 9 peers may indicate that there are some issues between your node and your router, and other peers cannot make an inbound connection.
If you worry about it, you can increase the number of outbound peers:
full_node:
target_outbound_peer_count: 20 (do not go to 80, as it is faster to get other peers to connect to you)
And monitor your node to see whether it will stop at 20. If it does, that would confirm that your node - router setup may not work well.
However, as mentioned, you can run on outbound nodes only - there is no difference whether connection was established by your node, or a peer. Potentially, getting up to the specified number of nodes will be slower, if other nodes are not permitted to connect. Again, nothing to worry, as the minute you get the first peer, your node is happy.