Why did some of my keys disappear?
They held null, which TOML has no way to write. Leaving a key out is how a TOML file says “not set”, and the notes give the count. Give those keys a value in the JSON first if the program needs them.
What is the difference between [table] and [[table]]?
A [server] line starts one table, so the keys under it belong to server. A [[server]] line adds one more item to an array of tables, so writing it twice gives a list of two. JSON objects become the first, arrays of objects the second.
Will a TOML reader accept the result?
It is written to TOML 1.0, and this site’s tests read thousands of its files back with Python’s tomli. Integers past 64 bits go in quotes because the specification tells readers to refuse them.