Yes, that's correct. DBA_HIST_SQLBIND captures the contents of v$sql_bind_capture, which represents all datatypes as strings in the VALUE_STRING column. I just checked multiple databases with various NLS_DATE_FORMAT settings and all of them - going back to version 10.1, format dates as a string with model MM/DD/YYYY HH24:MI:SS. Keep in mind that NLS_DATE_FORMAT is intended to format implicit date-to-string conversions done by users, and is inherited from the system level if not overridden by the session. Any session has the right to override it as desired. Oracle's internal performance views are no exception - they've been doing that for a long time with FIRST_LOAD_TIME in v$sql where they actually insert a literal \ between the date and time; v$sql_bind_capture is just another example where dates-as-strings in performance views can show up however the original programmer thought best. Since they are strings as they come to us in the view, not dates, theNLS_DATE_FORMAT setting is irrelevant.
And, if you think about it, most NLS_DATE_FORMAT settings default to something like DD-MON-RR, without a time portion. If the programmer who wrote the view had used that format to populate a string column, it would hide the time portion from us, and that's an important piece of information that shouldn't be hidden. So really they had no choice but to hard-code a date format conversion that does show the time.
Also, FYI, bind capture is meant for performance diagnostics (investigating cursor sharing, histogram skew, etc..); it is merely a sampling, not exhaustive. Capturing binds for every execution would be inordinately expensive. If you do need the precise binds of a specific execution, you'd need to 10046 trace it at level 4 or higher and examine the trace file. There's no performance view for that.