I am not certain about DT tables, but plain ol' HTML table is a legit part of a Leaflet popup.
By the way this is one use case where {leaflet} used directly beats othervise highly recommended {tmap} package. tmap sanitizes HTML and can not be used to build popups like these.
For an example in action consider this code, built on good old NC shapefile:
library(sf)
library(leaflet)
shape <- st_read(system.file("shape/nc.shp", package="sf")) %>% # included with sf package
st_transform(4326)
shape$label <- paste0("<table style=\"border: 1px solid black\">
<caption>this is a county!</caption>
<tr>
<th>county</th>
<th>fips code</th>
<tr>
<tr>
<td>", shape$NAME, "</td>
<td style = \"text-align: right\">", shape$FIPSNO, "</td>
<tr>
</table>")
leaflet(shape) %>%
addProviderTiles("Stamen.Toner") %>%
addPolygons(color = "blue",
fillColor = "aliceblue",
popup = ~label)