When does splitting a service add enough value that it is worth the cost of performance and added complexity?
Simply put, you split a microservice when you need to split teams.
Microservices aren't a solution to a technical problem, they're a solution to a social/organization problem (described by Conway's law).
When does splitting a service add enough value that it is worth the cost of performance and added complexity?