Most of all of the 5V character LCDs have TTL level logic thresholds, where anything over 2.0V is recognized as logic high. So they tend to work with 3.3V only logic, as long as all the signals are from the Teensy to the LCD.
The LiquidCrystal library has 4 different constructors, for using 6, 7, 10 and 11 signals. Use the 6 signal option, where you connect the R/W signal on the LCD to GND. This mode uses 6 outputs from the Teensy to control the LCD. The LCD never tries to drive 5 volts onto the data pins, because R/W is always low.