'_id' is an internal Neo4j value that could be reused if nodes have been deleted. The 'id' is a unique key that your application controls. Neo4j advises not relying on the '_id' value in your code.
Have a look at apoc.schema.assert() to see if that would work for you. Be aware that the default for dropExisting is true and it will drop all existing indexes/constraints that are not included in the command.
Desktop 1.3.3 includes Bloom and APOC.
APOC, the Graph Data Science Library, GraphQL and Neo4j Streams are available on the plugins tab.
The instructions for adding Neo4j ETL Tool are here: https://neo4j.com/developer/neo4j-etl/.
No production licenc...