Oh, I think I can see what's wrong now: the x/y position displayed in the level editor is measured in TILES, but the position used for the starting coordinates is measured in PIXELS. If you change the starting coordinates to 33*TILESIZE for the x value and 147*TILESIZE for the y value it should work.
Knight isn't hardcoded to be the starting class specifically, the game defaults to the class with ID 0 (which happens to be the knight class).
You could probably remove that ggui_menu_add_option_multichoice line entirely (so the player can't change classes) but the default stats still will be read from the class data. Also there's a number of pcust_ macros (pcust_NAME for instance) which are used to refer to the different data in the character customization, these also needs to be adjusted if you remove anything from that menu.
Enemy state machine scripts are found in Scripts --> State Machine --> Enemy. (GM protip: you can middle-click asset names in code to instantly open them, use Ctrl + T to search by name, and Ctrl + Shift + F to search for text in the entire codebase)
Player animation is handled by the state machine, some states use a shared script like player_animate_ordinary, but some states just load an hardcoded animation with skelani_set_animation. Most enemies set their animation in their step / end step event with skelani_set_animation.
The light effect is controlled by an object called obj_darknesscontrol. Right now they're only spawned by the biome setup scripts (for cave, castle, forest, shrine and graveyard biomes) but nothing stops you from spawning them whenever you want, or copying the object to make special versions.
Backgrounds also are controlled by the biome, you can set this up in the level_init_biomes script. Right now it supports up to 3 backgrounds.
One way to extend the tile system to use pre-made tiles without having to get them into the system that's used in the engine now would be to add another case in pixel_vacant that checks if the tile's top position is >= 9*TILESIZE, and if so, treat it as a solid and abort early. (You'd place this before the check if the tile is in the DECO area). Now you can take the template (or the existing level tileset you want to use), resize the canvas so it's taller, and just paste the new "off-grid" tiles at the bottom. (You can make it wider too if needed, of course)