The thing I don’t understand from the screenshots you pasted is how did you end up with only 2 database nodes. That shouldn’t be possible (or at least not very likely).
Please can you provide a detailed step-by-step way to reproduce what you are seeing?
We have a test in our test suite that spawns a cluster of 4 nodes, kills the 2nd node with kill -9, and checks that the 4th node gets promoted from non-database to database.
I modified the test to run with 9 nodes instead of 4 and it still works as expected.