Overhead of triggers and foreign key constraints?
Are the triggers/foreign key constraints a good idea ... 


Short answer: Yes. 


  ... even if I am very confident that my code will never attempt to violate them?


Two things: 

Firstly, it's not always going to be "your" code.  Times change, people move on, stuff happens.  If someone else comes along and "inherits" your code base, you cannot be "very confident" that they will do as good a job as you.  Constraints in the database will protect them from themselves. 

Secondly, What's to stop someone hooking up their favorite sqlite client and poking around in the database directly?  If all the data integrity is done in the Application, then going "under the radar", into the database directly, gets around that and allows someone to fill the database with complete rubbish, potentially breaking the Application in the process.  Again, constraints in the database will protect them from themselves. 


  Where can I get information on their overhead?


It's called Testing. 

Whilst you can get general advice about such things, you won't really know how it affects your database until you try it out in your [test] database. 

Benchmark your Tests with and without the constraints.  See if the difference, if any, is acceptable [to you and your users].