Posting this to explain to anyone who may search… it’s possible to begin your tilemap anywhere on the grid. Generally you’ll want to start it right at 1,1 for sanity’s sake, but in case you don’t then that’s what the x,y return values are for. But most of the time you don’t want to do that because it adds needless confusion!
local x, y, w, h = tilemap.get_bounds("/level#tilemap") -- if you begin at 1,1 then x,y will be 1,1